Найдите Тип параметра Типа [дубликат]

10
задан vaxquis 19 June 2015 в 13:54
поделиться

4 ответа

Там функция typeof (T) ?

19
ответ дан 3 December 2019 в 14:52
поделиться

Вы можете использовать функцию ] typeof (T) ?

Итак, чтобы проверить строку, выполните

if (typeof (T) == typeof (string)) // сделайте что-нибудь

{{1} }
5
ответ дан 3 December 2019 в 14:52
поделиться

Это почти наверняка недостаток в конструкции вашей функции, если вам нужно получить тип параметра универсального типа; Это противоположность слова «общий». Следовательно, используйте вместо этого перегрузку.

Кроме этого, Unsliced ​​уже дал правильный ответ на определение типа T .

5
ответ дан 3 December 2019 в 14:52
поделиться

На самом деле существует 2 метода, выполняющих это, если ожидаемые классы являются производными от одного и того же класса, интерфейса или абстрактного класса, вы можете легко сделать это в Generic Signature

T GetValue (), где T: class, это заставит целые T-типы стать ссылочными типами. Или T GetValue (), где T: IDisposable, это заставит целые T-типы реализовать IDisposable.

для вашего случая typeof (T) решит ваши проблемы, но в этом случае сделайте метод не универсальным.

2
ответ дан 3 December 2019 в 14:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: