タイトルにあるように、ICollectionインターフェイスに Add メソッドが含まれていない理由を知っている人はいますか? ジェネリック バージョン にICollection<T>があるのにAddないICollectionのは非常に奇妙に思えます。これについてより深い知識を持っている人は誰でも本当に役に立ちます。
残念ながら、SharePoint を構築する開発者はジェネリックについて学んだことがないため、API のすべてのコレクションは .NET に基づいた非ジェネリック コレクションですICollection。ICollectionとりわけ、コレクションへの追加を含むいくつかの拡張メソッドをアタッチしたいのですが、これは不可能のようです (少なくともリフレクションなしでは不可能です)。
編集:
かなりの数の人々がその理由を推測ICollection.AddしていますObject。そうではありません。IList を取るAddメソッドがありObjectます。を受け取るメソッドで型チェックとキャストを行うだけですObject。
配列が実装するICollectionため、それを持つことができない引数は、Add水を保持しません。メソッドがある場合ICollectionは、Add配列に明示的に実装し、例外をスローする必要があります (配列実装の多くのメソッドが現在行っているように)。
誰かがデザイナーの一人による説明への参照を持っていることを本当に望んでいました.