关于C#中的new的用法

Posted 金融之王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于C#中的new的用法相关的知识,希望对你有一定的参考价值。

修饰符:隐藏基类中的成员(是基类中的成员,所以字段、属性、事件等等都可以隐藏,不单单是方法哦)

复制代码
public class Car
{
    public void WriteName(string name)
    {
        Console.WriteLine(name);
    }
}

public class NewCar:Car
{
    public void WriteName(string name)
    {
        Console.WriteLine("车名":+name);
    }
}
复制代码

这段代码中有一个错误:VS会提示

为了能使子类使用WriteName这个方法,就得用new关键字来隐藏父类中的方法,也可以说是我们新建了一个WriteName方法,这种用法一般在写第三方插件的时候用得较多

复制代码
public class NewCar:Car
{
    //用new隐藏基类中的方法
    public new void WriteName(string name)
    {
        Console.WriteLine("车名":+name);
    }
}
复制代码

 

当然,如果想使用父类中的成员只需显示转换就行


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

当泛型类中有多个约束时,new约束必须写在最后

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

new的基本用法就这么多,当然还有一些别的小知识点,例如创建匿名类等等

以上是关于关于C#中的new的用法的主要内容,如果未能解决你的问题,请参考以下文章

new在c#方法中的使用

.NET(C#)new关键字的三种用法

C#中啥情况下要使用new关键字?这问题深奥额

new(C# 参考)

C#泛型约束

C#中泛型约束的具体用法