我有一个方法,使用我需要传递给它的列表.
根据我调用此方法的位置,列表的类型不同.
是否可以将列表作为通用列表传递,然后将其转换为某种类型,或者我是否需要为可以使用的每种类型的列表创建参数(见下文)?
public string MyMethod(List<Type1> list1, List<Type2> list2, ...etc )
{
switch(someCondition)
{
case 1:
//pass list1 into a method from class1
break;
case 2:
//pass list2 into a method from class2
break;
...//etc for several more lists
}
Run Code Online (Sandbox Code Playgroud)
Fab*_*ier 12
而不是使用多个参数制作单个方法,为什么不使用单个List类型创建多个方法?无论如何,您似乎没有从一个List类型到另一个类型共享很多代码.
public string MyMethod(List<int> list)
{
//do something with list
}
public string MyMethod(List<bool> list)
{
//do something with list1
}
...
Run Code Online (Sandbox Code Playgroud)
你可以创建一个接受这样的泛型类型的泛型函数
public virtual List<T> SelectRecord <T>(int items, IEnumerable<T> list)
{
if (items == -1)
return list.ToList<T>();
else
if (items > list.Count<T>())
return list.ToList<T>();
else
return list.Take<T>(items).ToList<T>();
}
Run Code Online (Sandbox Code Playgroud)
在我的例子中,我将IEnumerable传递给我的函数,它返回一个List(我的对象的类型).我没有指定对象的类型.
我希望它有用.
| 归档时间: |
|
| 查看次数: |
27028 次 |
| 最近记录: |