您的位置:首页 > 编程语言 > C#

C#中的new关键字的用法

2010-12-28 10:23 309 查看
C#中的new关键字可用做运算符,修饰符或约束。

1. new作运算符时有两种用法,创建对象和调用构造函数。例如:

var query = from cust in customer
select new {Name=cust.Name,Address=cust.PrimaryAddress};


也可用于调用值类型的默认构造函数:

public class BaseC
{
public int x;
public void Invoke(){};
}
public class DerivedC :BaseC
{
new public void Invoke(){};
}


通过继承隐藏名称的常用形式有:

@.引入类或结构中的常数,指定,属性或类型隐藏具有相同名称的所有基类成员。

@.引入类或结构中的方法隐藏基类中具有相同名称的属性,字段和类型。同时也隐藏具有相同签名的所有基类方法。

@.引入类或结构中的索引器将隐藏具有相同签名的所有基类索引器。

不能同时对一个成员使用new和override,因为这两个修饰符含义互斥,new修饰符会用同样的名称创建一个新成员并隐藏原始成员。override修饰符将会扩展继承成员的实现。

3.new约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。如果使用new约束,则该类型不能为抽象类型。

当泛型类创建类型的新实例,将new约束应用于类型参数,例如:

public class ItemFactory2<T>
where T :IComparable,new()
{

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: