如果没有泛型,我想将类型作为函数参数传递而不实例化类型。处理函数应该能够限制类型,例如(使用System.Enum作为示例,可以是任何类型):
enum QuestionTypes { Great, Good, Huh, Dumb, Dumber }
// error - "QuestionTypes is a type but used like a variable"
static void Main(string[] args) { TypeHandler(QuestionTypes); }
static void TypeHandler(System.Enum enumType) { /* do stuff */ }
这与传递类型名称,字符串或实例不同。 .NET应该能够传递一个类型似乎是合理的,因为定义存在于编译代码中。这只是一个反思的工作,还是可以不用?
答案 0 :(得分:7)
所以....传递Type
参数?
static void MyFunction(Type t)
{
...
}
MyFunction(typeof(QuestionTypes));