c# - 使用反射创建实例

标签 c# .net

<分区>

要创建一个类的实例,我们可以这样做:

Person p = new Person();

但是,我想用这样的字符串动态传递类的名称:

String name = "Human.Person"
name n = new name();

我知道这是错误的,但我看到我可以使用反射,但我不明白如何在我的案例中使用它。

最佳答案

对于这种情况,您可以使用 Activator.CreateInstance。

object person = Activator.CreateInstance(Type.GetType("Human.Person"));

或者最常用的是使用基类或接口(interface):

IPerson person = (IPerson)Activator.CreateInstance(Type.GetType("Human.Person"));

关于c# - 使用反射创建实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705659/

相关文章:

.net - 哪些日志查看器工具可以读取 System.Diagnostics.EventSchemaTraceListener 创建的 XML?

c# - 通过混合连接从客户端连接到 Azure Web 作业

c# - 如何在不滚动和丢失选择的情况下将文本附加到 RichTextBox?

c# - 通过 TFS/Team Build 在构建机器上构建工作,但不通过 TeamCity

c# - 如何通过来自多个程序集的接口(interface)有效地对所有实现进行分组?

c# - Microsoft Enterprise Library 缓存应用程序 block 不是线程安全的?

c# - 如何使用函数的错误列表返回结果

c# - 如何在请求 header 中使用 Swashbuckle 设置多个 api Key

c# - WCF 服务基址与端点地址

c# - MVC URL.RouteUrl 删除 RouteValues 但 URL.Action 保留它们?