假设我们有一些类
class Class1{ }
class Class2{ }
class Class3{ }
我有一个类型变量
Type t = /*some type unknown at compile-time*/;
变量 t
是 Class1 或 Class2 或 Class3。我想创建该类的一个实例。据我所知,我可以使用以下语句:
object instance = Activator.CreateInstance(t);
但是我收到了一个对象。问题是:如何将此对象转换为变量 t
中的类型。或者也许有人可以建议解决方法。
谢谢
最佳答案
如果要避免反射,那么
public interface IClass { }
class Class1 : IClass { }
class Class2 : IClass { }
class Class3 : IClass { }
IClass instance = (IClass)Activator.CreateInstance(t);
关于c# - 使用 Activator 创建实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12875204/