4 instantiations of MemberExpressionCacheKey
Microsoft.AspNetCore.Mvc.ViewFeatures (2)
CachedExpressionCompiler.cs (1)
158var key = new MemberExpressionCacheKey(typeof(TModel), memberExpression);
MemberExpressionCacheKey.cs (1)
36return new MemberExpressionCacheKey(ModelType, members.ToArray());
Microsoft.AspNetCore.Mvc.ViewFeatures.Test (2)
MemberExpressionCacheKeyComparerTest.cs (1)
193return new MemberExpressionCacheKey(typeof(TModel), memberExpression);
MemberExpressionCacheKeyTest.cs (1)
73return new MemberExpressionCacheKey(typeof(TestModel), memberExpression);
48 references to MemberExpressionCacheKey
Microsoft.AspNetCore.Mvc.ViewFeatures (10)
CachedExpressionCompiler.cs (4)
37private static readonly ConcurrentDictionary<MemberExpressionCacheKey, Func<TModel, object>> _chainedMemberAccessCache = 38new ConcurrentDictionary<MemberExpressionCacheKey, Func<TModel, object>>(MemberExpressionCacheKeyComparer.Instance); 158var key = new MemberExpressionCacheKey(typeof(TModel), memberExpression); 164var cacheableKey = key.MakeCacheable();
MemberExpressionCacheKey.cs (2)
28public MemberExpressionCacheKey MakeCacheable() 53public Enumerator(in MemberExpressionCacheKey key)
MemberExpressionCacheKeyComparer.cs (4)
6internal sealed class MemberExpressionCacheKeyComparer : IEqualityComparer<MemberExpressionCacheKey> 10public bool Equals(MemberExpressionCacheKey x, MemberExpressionCacheKey y) 37public int GetHashCode(MemberExpressionCacheKey obj)
Microsoft.AspNetCore.Mvc.ViewFeatures.Test (38)
MemberExpressionCacheKeyComparerTest.cs (33)
16var key = GetKey(m => m.Value); 26var key1 = GetKey(m => m.Value); 27var key2 = GetKey(m => m.Value); 37var key1 = GetKey(m => m.TestModel2.Name); 38var key2 = GetKey(m => m.TestModel2.Name); 48var key1 = GetKey(m => m.NullableDateTime.Value.TimeOfDay); 49var key2 = GetKey(m => m.NullableDateTime.Value.TimeOfDay); 59var key1 = GetKey(m => m.DateTime.Year); 60var key2 = GetKey(m => m.DateTime.Year); 70var key1 = GetKey(m => m.Value); 71var key2 = GetKey(m => m.TestModel2.Name); 81var key1 = GetKey(m => m.TestModel2.Id); 82var key2 = GetKey(m => m.TestModel2.Name); 92var key1 = GetKey(m => m.DateTime.Ticks); 93var key2 = GetKey(m => m.DateTime.Year); 103var key1 = GetKey(m => m.DateTime.Ticks); 104var key2 = GetKey(m => m.NullableDateTime.Value.Ticks); 114var key1 = GetKey(m => m.TestModel2); 115var key2 = GetKey(m => m.TestModel2.Name); 125var key1 = GetKey(m => m.NullableDateTime.Value.Year); 126var key2 = GetKey(m => m.DateTime.Year); 136var key1 = GetKey<TestModel2, int>(m => m.Id); 137var key2 = GetKey(m => m.TestModel2.Id); 148var key1 = GetKey(m => testModel.Id); 149var key2 = GetKey<TestModel2, int>(m => m.Id); 155private void VerifyEquals(MemberExpressionCacheKey key1, MemberExpressionCacheKey key2) 163var cachedKey1 = key1.MakeCacheable(); 172private void VerifyNotEquals(MemberExpressionCacheKey key1, MemberExpressionCacheKey key2) 180var cachedKey1 = key1.MakeCacheable(); 187private static MemberExpressionCacheKey GetKey<TResult>(Expression<Func<TestModel, TResult>> expression) 190private static MemberExpressionCacheKey GetKey<TModel, TResult>(Expression<Func<TModel, TResult>> expression)
MemberExpressionCacheKeyTest.cs (5)
22var key = GetKey(m => m.TestModel2.TestModel3.Value); 42var key = GetKey(m => m.NullableDateTime.Value.Ticks); 61var key = GetKey(m => m.DateTime.Ticks); 70private static MemberExpressionCacheKey GetKey<TResult>(Expression<Func<TestModel, TResult>> expression) 76private static IList<MemberInfo> GetMembers(MemberExpressionCacheKey key)