C# 方法,该方法将类型名作为针对类型名集合使用的参数

C# 方法,该方法将类型名作为针对类型名集合使用的参数,c#,typeof,system.type,C#,Typeof,System.type,使用运算符typeof时,我们提供一个类型名称以获取系统。type实例: System.Type t = typeof(System.Int32) 或者简单地说: Type t = typeof(int) 传递给操作员的参数的确切名称/性质是什么 如何构建此类“类型名称”的集合: 传递给操作员的参数的确切名称/性质是什么 类型名称-不是字符串,而是在代码中的字面意思 如何构建此类“类型名称”的集合 不能,但可以多次使用typeof: Type[] types = { typeof(int)

使用运算符
typeof
时,我们提供一个类型名称以获取
系统。type
实例:

System.Type t = typeof(System.Int32)
或者简单地说:

Type t = typeof(int)

传递给操作员的参数的确切名称/性质是什么

如何构建此类“类型名称”的集合:

传递给操作员的参数的确切名称/性质是什么

类型名称-不是字符串,而是在代码中的字面意思

如何构建此类“类型名称”的集合

不能,但可以多次使用
typeof

Type[] types = { typeof(int), typeof(string) };
如果您确实对名称感兴趣,可以使用
nameof
操作符:

string[] names = { nameof(Int32), nameof(String) };

“如果你真的对名称感兴趣”:目标实际上是调用一个在循环中使用“type name”参数的方法(澄清了问题)。@mins:所以你可以使用我提供的任何一个选项,在第一种情况下使用type.name,或者在第二种情况下只使用字符串。@JonSkeet:我正在深入阅读你的书C#,并决定在StackOverFlow中探索您的答案。我很高兴,也很享受这一切。你付出了那么多的努力和爱。谢谢。您是想以字符串形式传递类型名还是以系统形式传递类型名。类型对象?@Progman:两者都不是,我想以变量形式传递类型名,而不是以
aMethod(int)
形式传递。从目前的答案来看,我明白这是不可能的。那泛型呢?这是将类型放入方法的另一种方法。@Progman:我看不出这里如何使用泛型方法(这里没有
System.Int32
是.type的实例,我的代码中不存在“?”)。假设可以以某种方式将“标识符”传递给方法,您想在方法内部使用它做什么?为什么不能使用泛型或
typeof()
?这听起来像是XY问题。
string[] names = { nameof(Int32), nameof(String) };