在Xamarin Android中,是否可以从类名创建对象的实例?
例如,如果我的班级是Foo,我想这样做:
ObjectHandle handle = (Foo)System.Activator.CreateInstance(null, "Foo");
Foo foo = (Foo)handle.Unwrap();
foo.PartyOn();
Foo类在同一个项目(主App)中,这就是我将null传递给CreateInstance的原因。
此代码生成一个TypeLoadException:“无法加载类型'Foo'。
答案 0 :(得分:2)
您需要限定Foo
的命名空间:
namespace MyApp
{
public class Foo
{
public void PartyOn()
{
Console.WriteLine ("Party party!");
}
}
// ...
var handle = Activator.CreateInstance(null, "MyApp.Foo");
Foo foo = (Foo)handle.Unwrap ();
foo.PartyOn();
}