【发布时间】:2008-10-15 20:07:25
【问题描述】:
我有一个带有名为“Info”的静态公共属性的类。 通过反射我想得到这个属性值,所以我打电话:
PropertyInfo pi myType.GetProperty("Info");
string info = (string) pi.GetValue(null, null);
只要属性是字符串类型,它就可以正常工作。但实际上我的属性是 IPluginInfo 类型,并且 PluginInfo 类型(实现 IPluginInfo)被 instatiated 并在 Info 属性获取访问器中返回,如下所示:
public static IPluginInfo PluginInfo
{
get
{
IPluginInfo Info = new PluginInfo();
Info.Name = "PluginName";
Info.Version = "PluginVersion";
return Info;
}
}
我打电话时是这样的:
IPluginInfo info = pi.GetValue(null, null) as IPluginInfo;
info 始终为 null,而 PropertyInfo pi 仍然有效。我在这里遗漏了什么明显的东西吗?
【问题讨论】:
标签: c#