gpt4 book ai didi

c# - 重新审视传递类型作为参数

转载 作者:行者123 更新时间:2023-11-30 14:18:01 29 4
gpt4 key购买 nike

没有泛型,我想将类型作为函数参数传递而不实例化类型。处理函数应该能够限制类型,例如(以 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 应该能够传递类型似乎是合理的,因为定义存在于编译代码中。这是一项仅用于反射(reflection)的工作,还是可以在没有反射(reflection)的情况下完成?

最佳答案

所以....传递一个Type参数?

static void MyFunction(Type t)
{
...
}

MyFunction(typeof(QuestionTypes));

关于c# - 重新审视传递类型作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5161799/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com