5

無制限のジェネリック型であるジェネリック制約を持つことは可能ですか?

例えば:

public T DoSomething<T>(T dictionary) where T : IDictionary<,>
{
    ...
}

編集:コンテキストを説明するために、メソッドの使用を IDictionary に制限したいのですが、メソッド自体については、TKey と TValue が正確に何であるかは問題ではありません。

4

3 に答える 3

8

これは不可能です。型パラメーターを指定する必要があります。

public T DoSomething<T, TKey, TValue>(T dictionary) where T : IDictionary<TKey, TValue> { ... }
于 2012-08-01T18:08:41.203 に答える
0

いいえ、それはできません。多分あなたは使うことができます

public IDictionary<TKey, TValue> DoSomething<TKey, TValue>(IDictionary<TKey, TValue> dictionary)
{
...
}
于 2012-08-01T18:10:42.843 に答える