获取T参数的内部类类型

时间:2016-05-27 02:37:20

标签: c# asp.net

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是内部类,然后我卡住了。在我上面代码的最后一行中,我有一个问号,我不知道如何设置它。

0 个答案:

没有答案