如何创建具有给定名称的类c#

时间:2012-09-03 06:09:36

标签: c# class

我想创建一个在函数中传递名称的类。我该怎么做?

基本上我的意思是: 我们有一个名为

的函数
public void CreateClassWithThisName(string name)
{

}

然后我们创建一个类

class name
{
   //this name is the one passed as parameter in function CreateClassWithThisName
   private Id {get;set}
}

1 个答案:

答案 0 :(得分:5)

我假设您的意思是要创建具有给定名称的类的实例。您可以使用:

Type type = Type.GetType(name);
object instance = Activator.CreateInstance(type);

但请注意:

  • name必须是完全限定的类型名称,包括名称空间
  • 类型必须在mscorlib或执行程序集中, name必须是程序集限定类型名称
  • 这假设目标类型中有一个公共无参数构造函数;还有其他重载Activator.CreateInstance来指定构造函数参数

您还可以使用Assembly.GetType(string)从特定程序集中获取类型。