我正在尝试存储一组我可以稍后初始化的类。我想这样做:
Type[] x = { className };
但是,我收到以下错误:
'myNamespace.className'是'type',但它用作'variable'
任何指导都将不胜感激。
答案 0 :(得分:5)
使用typeof
运算符,该运算符用于获取类型的System.Type
。
Type[] x = { typeof(className) };
编辑:
回复您的评论:要从System.Type
创建该类型的实例,请使用Activator.CreateInstance
方法的适当重载。
E.g。
Type t = typeof(int);
// Boxed Int32 with value 0
object o = Activator.CreateInstance(t);
在您的情况下,由于您知道类的基类型,因此您当然可以将返回值强制转换为基类型。