1

私が方法を持っているとしましょう:

 UpdateObject(IList<MyObject> objs)

そして、1つのオブジェクトだけを送信するためにそのメソッドを使用したいですか?(私はメソッドのオーバーロードを使用しないことを好みます。なぜなら、インターフェイスで多くのメソッドを処理したくないからです)

次のことをせずに同じ方法を使用できる方法はありますか?

UpdateObject(new List<MyObject>(){singleObj})
4

1 に答える 1

3

IEnumerable<MyObject>代わりにそのメソッドに を渡すこともできます。

おそらく、単一の要素を an に追加する最も簡単な方法IEnumerable<T>は、このAsIEnumerable拡張機能を使用することです (ただし、Eric Lippert は、オブジェクトの拡張機能を作成しないようにアドバイスしています)。

public static IEnumerable<T> AsIEnumerable<T>(this T obj)
{
    yield return obj;
} 

これで、すべてを として使用できますIEnumerable

UpdateObject(singleObj.AsIEnumerable())
于 2012-10-04T16:08:52.750 に答える