Подскажите зачем оператор new идет в объявления класс Bank(class Bank : IBank where T : Account, new())
interface IBank<out t="">
{
T CreateAccount(int sum);
}
class Bank<t> : IBank<t> where T : Account, new()
{
public T CreateAccount(int sum)
{
T acc = new T(); // создаем счет
acc.DoTransfer(sum);
return acc;
}
}
Это ограничение, накладываемое на параметр дженерика, требующее доступность публичного конструктора без параметров. Из документации:
The new constraint specifies that a type argument in a generic class declaration must have a public parameterless constructor. To use the new constraint, the type cannot be abstract.
Продвижение своими сайтами как стратегия роста и независимости