If the new() generic constraint is applied, as in this example, that allows the class or method (the AuthenticationBase
class in this case) to call new T(); to construct a new instance of the specified type. There is no other way, short of reflection (this includes using System.Activator, to construct a new object of a generic type.