C#中new的三种用法 (转载)

来源:互联网 发布:土木人的淘宝店可信吗 编辑:程序博客网 时间:2024/05/01 11:47
在 C# 中,new 关键字可用作运算符、修饰符或约束。 

new 运算符 

用于创建对象和调用构造函数。例如: 

Class1 o = new Class1(); 


new 运算符还用于调用值类型的默认构造函数。例如: 

int i = new int(); <=> int i=0; 


new 修饰符 


用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成员的派生版本将替换基类版本。在不使用 new
修饰符的情况下隐藏成员是允许的,但会生成警告。使用 new
显式隐藏成员会取消此警告,并记录代之以派生版本这一事实。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并使用 new
修饰符修饰该成员。例如: 



public class BaseC 

     public int x; 
     public void Invoke() {} 

public class DerivedC : BaseC 

     new public void Invoke() {} 



new Constraint 

new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。当泛型类创建类型的新实例时,将此约束应用于类型参数,如下面的示例所示: 


当与其他约束一起使用时,new() 约束必须最后指定:   

using System; 
public class ItemFactory<T> 
     where T : IComparable, new() 

}
0 0
原创粉丝点击