在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