ジェネリック型に関係なく、特定のコレクション型 (リフレクションを使用) に従っていくつかの操作を行いたいと思います。
これが私のコードです:
void MyFct(Type a_type)
{
// Check if it's type of List<>
if (a_type.Name == "List`1")
{
// Do stuff
}
// Check if it's type of Dictionary<,>
else if (a_type.Name == "Dictionary`2")
{
// Do stuff
}
}
今のところはうまくいきますが、それが最も安全な解決策ではないことは明らかです。
void MyFct(Type a_type)
{
// Check if it's type of List<>
if (a_type == typeof(List<>))
{
// Do stuff
}
// Check if it's type of Dictionary<,>
else if (a_type == typeof(Dictionary<,>))
{
// Do stuff
}
}
私もそれを試しましたが、実際にはコンパイルされますが機能しません...指定されたコレクションタイプのすべてのインターフェースもテストしようとしましたが、コレクション内のインターフェースの排他性を意味します...
英語のトレーニングが不足していることを明確にしたいと思います:)