是否可以创建动态派生类型的泛型类的实例。
Class GenericClass<T> {
}
Main()
{
string inputtype = "classname, assemblyname";
Type type = Type.GetType(inputtype);
dynamic instance = Activator.CreateInstance(type);
// Want to create a object of GenericClass<T> but I get compiletime errors.
// Is it possible to do like below?
GenericClass<instance> = new GenericClass<instance>();
}
最佳答案
您可以像这样使用反射:
object genericInstance = Activator.CreateInstance(typeof(GenericClass<>).MakeGenericType(type));
但是你必须强制转换它才能使用它,所以它不是类型安全的。
关于c# - 从动态类型创建泛型类的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60057434/