我正在尝试创建一个接受任何类型列表的方法,因此我不必创建一个方法来处理每种类型的列表对象。它说我的l对象变量无效。
我的代码
static void Main(string[] args)
{
List <Person> l;
testList(l);
}
public void testList(List<object> x)
{
}
答案 0 :(得分:0)
您还需要使方法通用(通过向方法添加泛型参数)。这应该有效,但请务必分配您的列表(例如List<Person l = new List<Person>();
)。
public void testList<T>(List<T> X)
{
// Whatever you want to do with your list.
}
另外,只是提醒一下,看起来你是从静态方法调用它,确保在方法上也添加静态。
希望它有所帮助!
答案 1 :(得分:0)
static void Main(string[] args)
{
List <Person> list1;
testList<Person>(list1);
List <OtherClassObj> list2;
testList<OtherClassObj>(list2)
}
//Here T is type of object
public void testList<T>(List<T> x)
{
if (typeof(T) == typeof(Person))
//Prosess Person's List
}