Как я могу использовать «is», чтобы проверить, поддерживает ли тип IComparable?

Я хочу проверить, поддерживает ли тип IComparable перед его сортировкой, но я обнаружил, что проверка того, поддерживает ли тип интерфейс IComparable с использованием «is», не всегда дает мне правильный ответ. Например, typeof (int) is IComparable возвращает false, хотя int действительно поддерживает интерфейс IComparable.

Я заметил, что typeof (int) .GetInterfaces () перечисляет IComparable и typeof (int) .GetInterface ("IComparable") возвращает тип IComparable, так почему "is" не работает так, как я ожидал?

5
задан 31 July 2011 в 15:10
поделиться