我有两个List<>与我需要编辑的相同字段。如何为这些列表编写一个通用函数?
public List<?> CutField(List<?> list)
{
foreach(var element in list)
{
element.Field = // ;
}
return List<?>;
}
答案 0 :(得分:0)
最好的方法是使用泛型:
public List<T> CutField<T>(List<T> list) where T : MyInterface
{
foreach(T element in list)
{
element.Field = // ;
}
return list;
}
用
public interface MyInterface
{
object Field { get; set; } // or whatever datatype you need for the field
}
当然,列表中的所有可能类型都应该实现该接口。
另外,您也可以省略CutField
的返回类型,因为您已经修改了作为参数传递的列表。