var cache = this._memoryCache;
cache.Set("a", "value of a");
BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static;
FieldInfo field = cache.GetType().GetField("_entries", bindFlags);
var reflactionResult = field.GetValue(cache) as Dictionary<object, ?>;
现在的版本是ASP.NET Core 1 RC1。我想从Microsoft.Extensions.Caching.Memory
获取私有字段,源代码aspnet/Caching git。
我想要的字段是
private readonly Dictionary<object, CacheEntry> _entries;
我可以通过
获得它field.GetValue(cache);
(在我上面的代码中),但是它的类型是object
,我希望将其设为Dictionary<object, CacheEntry>
,这样我就能获得价值,就像我想要的一样{{1}不在object
。
但是CacheEntry
是内部类,然后我卡住了。在我上面代码的最后一行中,我有一个问号,我不知道如何设置它。