在c#中用字符串变量初始化一个类?
是否可以通过字符串变量初始化类? 我有PHP代码。
我怎么在c#中这样做?
System.Activator.CreateInstance(Type.GetType(className))
然而,问题是C#3.0是一种静态类型语言。 您不能只在返回的对象上调用随机方法。 您可以让实例化的类实现一些通用接口,并将上述表达式的结果强制转换为接口,或者手动使用reflection来调用返回对象上的方法。
您可以使用Activator.CreateInstance方法来实现类似的结果。 但除了类型的完全限定名称之外,您还必须提供程序集名称
var instance = Activator.CreateInstance("SomeAssemblyName","Some.Full.Type.Test");
您可以使用Activator.CreateInstance。 各种重载的文档在这里: http : //msdn.microsoft.com/en-us/library/system.activator.createinstance.aspx