C# 已知有一个和 类名 相同的字符串str, 如何根据str来获取这个类?

2024-12-31 21:23:01
推荐回答(3个)
回答1:

使用反射技术来实现你的需求

如果你要获取到这个类的对象实例可以这么做

以String类为例子
string str = "System.String";

String exp = (String )Activator.CreateInstance(str);

//如果你要得到这个类的类型信息可以这么做
Type expType = Type.GetType(str);

//使用Type对象也可以实例化一个对象同样调用上面方法
String exp = (String )Activator.CreateInstance(expType);

更请参考.NET反射技术,它可以教会你更多的关于后期绑定的信息

回答2:

Activator.CreateInstance 方法有一个重载可以,你查下。

Activator.CreateInstance(String, String) 使用命名的程序集和默认构造函数,创建名称已指定的类型的实例。

回答3:

可以使用Activator的这个方法CreateInstance,其方法的参数是程序集和类名,如果能引用到这个程序集则正常就可以创建实例。