#c# #generics
#c# #общие
Вопрос:
Можно ли определить универсальный класс, в котором T может принадлежать только типу значения (например, int, double и так далее)?
Комментарии:
1. Извиняюсь, закрыл его без полного просмотра связанных ответов (пока не привык к этой функции закрытия с золотым значком!), Хотя заголовок вопроса был тем же, фактический вопрос сильно отличался. Хотя я удивлен, что не могу найти дубликат этого где-нибудь.
Ответ №1:
да, вам нужно struct
ограничение:
class OnlyStructs<T> where T : struct { }
Но вы должны знать, что это также позволяет использовать пользовательские структуры, а не только int
double
и т.д. К сожалению, нет встроенного способа ограничения T
только для определенных типов, таких как where T : int,double,float
.
Ответ №2:
Используйте struct в общем ограничении where T : struct