1

我想创建一个以 C# List 数据类型作为参数的函数。

public void foo(List<Something> obj)
{
...
}

但我想将任何类型的 List 类型传递给函数,我的意思是,像这样

List<Class1> obj1 = new List<Class1>();
foo(obj1);

List<Class2> obj2 = new List<Class2>();
foo(obj2);

我可以做这样的事情吗?这该怎么做?提前致谢

4

2 回答 2

4

foo为您的方法添加一个通用参数。

public void foo<T>(List<T> obj)
{
...
}

你可以在这里找到更多关于它们的信息。

于 2012-05-16T06:06:47.860 回答
3

使用泛型

public void foo<T>(List<T> obj)
{
...
}

打电话

 foo<Class1>(new List<Class1>());
 foo<Class2>(new List<Class2>());

以上可以通过使用泛型类型推断进一步简化

 foo(new List<Class1>());
 foo(new List<Class2>());
于 2012-05-16T06:06:55.837 回答