在C#中,new关键字有以下三种用法:
new 运算符
用于创建对象和调用构造函数。如:
Class1 obj= new Class1();
new 修饰符
用于隐藏基类成员的继承成员。
public class BaseC
{
public int x;
public void Invoke()
{
}
}
public class DerivedC : BaseC
{
new public void Invoke()
{
}
}
new约束
用于限制可能用作泛型声明中类型形式参数的实际参数类型。
当泛型类创建类型的新实例时,请将 new
约束应用于类型参数,如下面的示例所示:
class ItemFactory<T> where T : new()
{ public T GetNewItem()
{ return new T();
}
}