如何将类型列表传递给C#中的方法调用
本文关键字:方法 调用 类型 列表 | 更新日期: 2023-09-27 18:02:47
- .净额4.51
我试图声明一个方法,在该方法中,我可以通过参数aListOfClasses传递类列表,即:
public static class MyClass
{
public static void MyCall(List<**WhatDoIPutHere**> aListOfClasses)
{
foreach (var item in aListOfClasses)
{
var typeInfo = typeof (item);
}
}
}
所以,如果我说一堆没有共同基础的类:
public class ClassOne
{
}
public class ClassTwo
{
}
我想能够调用我的方法如下L
var myListOfClasses = new List<????>();
myListOfClasses.Add(ClassOne);
myListOfClasses.Add(ClassTwo);
MyClass.MyCall(myListOfClasses);
所以我的问题是:
- 如何声明ListOfClasses?类型是什么
您可以这样声明您的方法:
public static void MyCall(List<Type> aListOfClasses)
{
foreach (var item in aListOfClasses)
{
var typeInfo = item; // no need for typeof again
}
}
并定义您的列表,如:
var myListOfClasses = new List<Type>();
myListOfClasses.Add(typeof(ClassOne));
myListOfClasses.Add(typeof(ClassTwo));