任意の型についてNullableであるかどうか判断する方法
public static bool IsNullable(Type type) { //クラス(参照型)かどうか if (type.IsClass) { // not Nullable return false; } //ジェネリク型かどうか if (type.IsGenericType) { //ジェネリック型の元となるSystem.Typeオブジェクトを取得し、それがNullable値型であるかどうか if (type.GetGenericTypeDefinition() == typeof(Nullable<>)) { // Nullable return true; } } //いずれでもないなら not Nullable return false; }
C#2.0(というか.NET Framework2.0)のBata2にあった、nullを設定できる型であるかどうか判断する基準となる
System.INullablevalueっつーインターフェイスが、
リリース版ではなくなっている件。これはMicrosoftの罠としか言いようがないw
/(^o^)\ナンテコッタイ
そんなわけで、任意のTypeについてNullableかどうか調べる方法のメモ。
まあ、たいした話ではないんだけど、誰かの役に立つかもしれない。
あけましておめでとうございます。
今年もマイペースでいきます。