[サンプルコード]
DoSomething メソッドは、map 引数の型から TCollection は推論できるが、TItem は推論できない。
TCollection の制約から分かりそうなもんだが、推論してくれない。
あきらめて型パラメータを指定してあげましょう、という話。
static class TestTypeInference
{
static void Main()
{
// コンパイル NG
DoSomething(new Dictionary<string, int[]>());
// コンパイル OK
DoSomething<int[], int>(new Dictionary<string, int[]>());
}
static void DoSomething<TCollection, TItem>(IDictionary<string, TCollection> map)
where TCollection : ICollection<TItem>
{
Console.WriteLine("DoSomething");
}
}
DoSomething メソッドは、map 引数の型から TCollection は推論できるが、TItem は推論できない。
TCollection の制約から分かりそうなもんだが、推論してくれない。
あきらめて型パラメータを指定してあげましょう、という話。
0 件のコメント:
コメントを投稿