В настоящее время код, который мы можем написать, чтобы проверить это, просто перечисляя все возможные типы для так называемого интегрального < /code>, например: < /p>
public static bool IsIntegral(this Type type)
{
return type == typeof(int) || type == typeof(uint) ||
type == typeof(short) || type == typeof(ushort) ||
type == typeof(long) || type == typeof(ulong) ||
type == typeof(byte);
}
< /code>
Интересно, есть ли какой -то лучшим и более чистым способом, который не должен включать какую -либо трюк с преобразованием в /из строки (я думаю, не будет работать хорошо, даже мы должны создавать какой -то фиктивный экземпляр с использованием активатора < /code>). < /p>
Это жаркость, что что -то вроде этого не будет работать: < /p>
Это жаль, что что -то вроде этого не будет работать: < /p>
Это жаркость.typeof(long).IsAssignableFrom(type);
< /code>
Хотя на самом деле в коде мы можем написать что -то вроде этого: < /p>
int i = 5;
long l = i;//this looks much like long can be assignable from int
< /code>
Но на самом деле они (Long и int) не имеют здесь никаких отношений наследования, компилятор, кажется, делает некоторое волшебное автоматическое качество для того, чтобы приведенный выше код был действительным. < /p>
Подробнее здесь: https://stackoverflow.com/questions/565 ... s-integral
Есть ли более чистый способ проверить, является ли тип неотъемлемой частью? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В чем разница между серверной частью ndk и серверной частью cpp в AOSP?
Anonymous » » в форуме Android - 0 Ответы
- 104 Просмотры
-
Последнее сообщение Anonymous
-