假设我有一个方法:
UpdateObject(IList<MyObject> objs)
我想使用该方法只发送一个对象? (我不喜欢使用方法重载,因为我不想在我的界面中处理很多方法)
有没有办法可以使用相同的方法而不执行以下操作:
UpdateObject(new List<MyObject>(){singleObj})
答案 0 :(得分:3)
也许您可以将IEnumerable<MyObject>
传递给该方法。
将单个元素附加到IEnumerable<T>
的最简单方法可能是使用此AsIEnumerable
扩展名(尽管Eric Lippert advises against为对象创建扩展名):
public static IEnumerable<T> AsIEnumerable<T>(this T obj)
{
yield return obj;
}
现在您可以将所有内容都用作IEnumerable
。
UpdateObject(singleObj.AsIEnumerable())