【发布时间】:2011-12-21 23:46:40
【问题描述】:
我有一堆类都包含SharedReadOnly 字典。如果我想在类是泛型类型时访问该字典(例如,当我有一个将 T 作为所有这些类实现的接口的包装函数时),该怎么做?
基本研究表明我想做GetType(T).GetMember("Dict") 之类的事情,但这将返回MemberInfo 类型,并且不能转换为我定义的类型的字典。要以这种方式调用函数,可以使用委托 + CreateDelegate + GetMethod。但似乎没有等效的 Create*for GetMember 东西。还是我错过了什么?
如果我将GetMember 调用插入即时窗口,然后像使用数组一样使用下标,那么调试输出会显示我正在返回字典。但是,如果我在尝试编写的实际函数中使用相同的方法,则会收到关于 System.Reflection.MemberInfo 无法转换为 Dictionary(X, Y) 的错误
【问题讨论】: