コレクション ライブラリを構築していますが、すべてのジェネリック コレクション インターフェイスでクラス型が必要になり、それらを実装するすべてのコレクションが任意の型である必要があります。したがって、値型では、コレクションには値型用とボックス化用の 2 つのメソッドがあります。これは可能ですか?
このような:
interface ICollection<ItemType> where ItemType : class
{
void DoSomething(ItemType item);
}
class Collection<ItemType> : ICollection<ItemType>
{
void DoSomething(Object item);
void DoSomething(ItemType item);
}
それを回避するための最良の方法は何でしょうか? インターフェイスは非ジェネリックですか?