如何根据类型(Type)在C#中创建对象实例?
大家好!我是C#新手,遇到了一个问题。我有一个 `Type` 类型的变量,例如通过 `typeof(MyClass)` 或从类名字符串中获取的。我需要动态创建该类型的对象,但不知道如何操作。\n\n以下是一个无效的示例:\n\n```csharp\nType myType = typeof(StringBuilder);\nvar instance = new myType(); // 错误:"myType" 是变量,不是类型\n```\n\n我明白在C#中不能对 `Type` 类型的变量使用 `new`。我搜索了一下,找到了关于 `Activator.CreateInstance` 的提及,但没有完全理解。如果只有 `Type`,如何正确创建对象?重要的是解决方案要适用于无参构造函数和有参构造函数的类。提前感谢!\n\n<<>>\n
使用 Activator.CreateInstance
\n要在C#中根据类型创建对象,可以使用 System 命名空间中的 Activator 类。这是最简单且最常用的方法。具体如下: