Сравните закрытый тип с открытым типом - PullRequest
8 голосов
/ 14 октября 2010

Мне интересно, как проверить, является ли данный тип закрытым версия открытого типа. Например

public bool IsGenericList(Type source)
{
    return (source.IsGenericType &&
            /*here goes the manipulation on source type*/ == typeof(List<>));
}

1 Ответ

14 голосов
/ 14 октября 2010

Попробуйте Type.GetGenericTypeDefinition:

public bool IsGenericList(Type source)
{
    return source.IsGenericType &&
           source.GetGenericTypeDefinition() == typeof(List<>);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...