详细介绍C#中new的几种用法


本文摘自PHP中文网,作者黄舟,侵删。

本文主要介绍了C#中new的几种用法,具有很好的参考价值,下面跟着小编一起来看下吧

在 C# 中,new 关键字可用作运算符、修饰符或约束。

new 运算符

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

new 修饰符

用于向基类成员隐藏继承成员。

new 约束

用于在泛型声明中约束可能用作类型参数的参数的类型。

new 修饰符(C# 参考)

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

若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并使用 new 修饰符修饰该成员

new 运算符(C# 参考)

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

1

Class1 o = new Class1();

2.也用于为值类型调用默认的构造函数

 例:int myInt = new int();

 myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int myInt = 0;

3.不能重载 new 运算符。

4.如果 new 运算符分配内存失败,则它将引发 OutOfMemoryException 异常

new 约束(C# 参考)

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

1

2

3

4

5

6

7

class ItemFactory<T> where T : new()

{

public T GetNewItem()

{

return new T();

}

}

通过继承隐藏名称采用下列形式之一:

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

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

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

  4.在同一成员上同时使用 new 和 override 是错误的。

  注意:在不隐藏继承成员的声明中使用 new 修饰符将生成警告。

 示例

  在该例中,嵌套类 MyClass 隐藏了基类中具有相同名称的类。该例不仅说明了如何使用完全限定名访问隐藏类成员,同时也说明了如何使用 new 修饰符消除警告消息。

阅读剩余部分

相关阅读 >>

关于C#如何将word转换成pdf的方法汇总

C#教程】C# 预处理器指令

C#winform创建excel文件的示例代码分享

C#中dataset的用法

C#实现windows剪贴板监视器的代码具体介绍

史上最佳的C#编程书籍推荐

什么是C#中的多态性?

C#高级编程(三)-对象和类型详解

C#中复制构造函数是什么

详细介绍asp.net中的C#基础知识

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...