C#如何根据类的名词创建类的实例
程序员文章站
2022-12-14 21:54:59
这个大概分为两种情况:1-在同一程序集访问该类;2-在不同的程序集访问 A:同一程序集,使用微软的创建对象的类:System.Activator: 先通过类名,获取到类型,在使用用于创建本地或远程对象的Activator类创建类型的实例: B:不同的程序集(同一程序集也可用):微软的程序集抽象类提供 ......
这个大概分为两种情况:1-在同一程序集访问该类;2-在不同的程序集访问
a:同一程序集,使用微软的创建对象的类:system.activator:
先通过类名,获取到类型,在使用用于创建本地或远程对象的activator类创建类型的实例:
// 命名空间+类名 string strclass = "tlz.com.website.t.webapi.controllers.controllernamecontroller"; type type = type.gettype(strclass); // 创建实例 object obj = system.activator.createinstance(type);
b:不同的程序集(同一程序集也可用):微软的程序集抽象类提供的方法创建
获取指定类所在的程序集:
system.reflection.assembly.load("程序集名称");
或
system.reflection.assembly.loadfile("程序集文件-dll的绝对路径");
再通过程序集的抽象方法创建实例:createinstance(string typename)
system.reflection.assembly assembly = system.reflection.assembly.load("datacommon"); //创建实例 object obj=assembly.createinstance("类名");
上一篇: Java设计模式系列-装饰器模式
下一篇: 我的购物车没钱满了