タグ

2018年1月26日のブックマーク (1件)

  • Listかどうかを調べる:Gushwell's Dev Notes

    今度は、ある型が、Listのオブジェクトだということを判断するコードをC#で書いてみる。 配列の場合は、Type.IsArray プロパティが用意されているけど、 IsListはさすがに用意されていない。 最初に書いたコードは以下の通り。 void IsList(Type type) { return type.Name == "List`1" && type.Namespace == "System.Collections.Generic"; } なんか、イケてない。 次は、試行錯誤でたどり着いたコード。 return type.GetGenericTypeDefinition() == typeof(List<>); このほうが良いな。 そのオブジェクトが取得できるならば、 obj is List<int> のようにすれば、通常は問題ない。 でも、要素の型が分からない場合は、 obj