Это означает, что тип, используемый для заполнения универсального параметра T
, должен иметь конструктор public и без параметров.Если тип не реализует такой конструктор, это приведет к ошибке времени компиляции.
Если применяется универсальное ограничение new()
, как в этом примере, которое позволяет классу или методу (AuthenticationBase<T>
класс в данном случае) для вызова new T();
для создания нового экземпляра указанного типа.Нет другого способа, кроме рефлексии (это включает использование System.Activator
для создания нового объекта универсального типа.