【发布时间】:2013-04-27 11:44:21
【问题描述】:
我正在使用 C# 开发移动应用程序(Monotouch、monodroid)。 我有一个这样定义的类:
public class TempIOAddOn : BaseIOAddOn
{
public TempIOAddOn ()
{
}
}
我使用这段代码通过字符串名称访问类的实例:
BaseIOAddOn tempIOAddOn;
Type t= Type.GetType("TempIOAddOn" );
tempIOAddOn = (BaseIOAddOn)Activator.CreateInstance(t);
但执行后,t 是null。
我也试过下面的代码:
BaseIOAddOn tempIOAddOn;
tempIOAddOn = (BaseIOAddOn )System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("TempIOAddOn" );
但我再次面对null。 tempIOAddOn 是 null。
我怎么了?
【问题讨论】:
-
尝试改用Assembly Qualified Name。如果它正在运行 Xamarin,它可能需要完整的限定名称。 Silverlight 也有同样的限制。
标签: c# reflection xamarin.ios xamarin.android