タイプがC#のnull許容列挙型であるかどうかを確認するにはどうすればよいですか?
Type t = GetMyType();
bool isEnum = t.IsEnum; //Type member
bool isNullableEnum = t.IsNullableEnum(); How to implement this extension method?
回答:
編集:それが機能するので、私はこの答えを残すつもりです、そしてそれは読者が他の方法で知らないかもしれないいくつかの呼び出しを示します。しかし、ルークの答えは間違いなくもっと良いです-それを賛成してください:)
できるよ:
public static bool IsNullableEnum(this Type t)
{
return t.IsGenericType &&
t.GetGenericTypeDefinition() == typeof(Nullable<>) &&
t.GetGenericArguments()[0].IsEnum;
}