在C#中,通过字符串,反射获取类
string className = "MyClass"; // 要获取的类名
Type type = Type.GetType(className); // 获取类型对象
if (type != null)
{
object instance = Activator.CreateInstance(type); // 创建类的实例
// 在这里可以使用instance调用类的方法或访问类的属性
//如果有工厂基础类,也可直接返回
//return Activator.CreateInstance(type) as FactoryBase;
}
else
{
// 类不存在
}
需要注意的是,Type.GetType方法只能获取当前程序集中的类型。如果要获取其他程序集中的类型,需要使用Assembly.GetType方法。另外,如果要获取嵌套类,需要在类名中包含外部类的名称,例如"OuterClass+InnerClass"。