如何转换CreateInstance的返回值
|
类型未知时,如何转换CreateInstance的返回值?
例如下面的代码:
MethodInfo mInfo = typeof(MyType).GetMethod(MethodBase.GetCurrentMethod().Name);
Object o = Activator.CreateInstance(mInfo.ReturnType);
如何将o转换为mInfo.ReturnType包含的内容?
没有找到相关结果
已邀请:
2 个回复
购藏盗码韦
中-并且请注意,您可以在运行时通过
或ѭ4choose选择choose1ѭ)或元编程(发出IL)做适当的演员)。在所有其他情况下,如果类型直到运行时都是未知的,则您将受困于
或
。
骇毖煽洁铂
包含类型定义,该定义在编译时在当前上下文中可见。例如,如果
具有
定义,则只需执行以下操作:
但是在这种情况下,无需使用Activator。当您尝试使用从另一个程序集加载的类型时,使用Activator类,换句话说,该类型在编译时不可见。 因此,答案是您无能为力。