new()
ограничение означает, что конкретный универсальный параметр должен иметь конструктор по умолчанию (я. Е. Конструктор без параметров).
Цель этого, как правило, заключается в том, чтобы позволить вам безопасно создавать новые экземпляры общих типов параметров, не прибегая к отражению/Activator.CreateInstance.
Например:
public T Create<T>() where T : new()
{
// allowed because of the new() constraint
return new T();
}
Для получения дополнительной информации, ознакомьтесь http://msdn.microsoft.com/en-us/library/sd2w2ew5%28v=vs.80%29.aspx.
Что касается поискового запроса google, я бы попробовал «C# new() constraint».
поиск ограничений по параметрам типа. здесь ссылка http://msdn.microsoft.com/en-us/library/d5x73970.aspx – qwr
Дубликат [C# код путаницы where where] (http://stackoverflow.com/q/5461963), который я нашел путем поиска SO для [\ [C# \] generic, где new] (http://stackoverflow.com/search?q=%5Bc%23%5D+generic+where+new). Кроме того, [Что делает new() в 'where T: new()'] (http://stackoverflow.com/q/1085434), который SO показывает на боковой панели «Вопросы по теме». –