[英]How do I pass a list of types to a method call in C#?
我试图声明一个方法,我可以在其中通过我的参数aListOfClasses viz传递类列表:
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
{
}
我希望能够如下调用我的方法
var myListOfClasses = new List<????>();
myListOfClasses.Add(ClassOne);
myListOfClasses.Add(ClassTwo);
MyClass.MyCall(myListOfClasses);
所以我的问题是:
您可以这样声明您的方法:
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));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.