Здравствуйте, Аноним, Вы писали:
А>Здравствуйте! Есть такой код
А>
А>enum SomeEnumType
А>{
А> ...
А>}
А>class Foo
А>{
А> SomeEnumType? val;
А>}
А>private static void Main()
А>{
А> Foo foo = new Foo();
А> Type someType = получаем тип свойства val;
А> SomeMethod(someType);
А>}
А>public void SomeMethod(Type someType)
А>{
А>}
А>
Type someType;
if (someType.IsGenericType)
{
// Возможно Nullable<T>
Type srcGenericType = someType.GetGenericTypeDefinition();
// Реально Nullable<T>
Type nullableGenericType = typeof(int?).GetGenericTypeDefinition();
if (srcGenericType == nullableGenericType)
{
// baseType - Исходный не nullable тип
Type baseType = someType.GetGenericArguments()[0];
// ...
}
}
А>Как можно по someType определить что это Nullable тип, а также нижележащий тип — т.е. Enum. Спасибо!