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