Xamarin可以按类名创建对象实例吗?

时间:2015-03-03 19:09:58

标签: xamarin.ios xamarin xamarin.android

在Xamarin Android中,是否可以从类名创建对象的实例?

例如,如果我的班级是Foo,我想这样做:

ObjectHandle handle = (Foo)System.Activator.CreateInstance(null, "Foo");
Foo foo = (Foo)handle.Unwrap();
foo.PartyOn();

Foo类在同一个项目(主App)中,这就是我将null传递给CreateInstance的原因。

此代码生成一个TypeLoadException:“无法加载类型'Foo'。

1 个答案:

答案 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();
}