Re: Как по Type определить Nullable и underlying type
От: SVRC Украина  
Дата: 13.12.06 08:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте! Есть такой код


А>

А>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. Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.