zoukankan      html  css  js  c++  java
  • C# 关键字new用法

    1.实例化对象,执行构造函数。

    public class Test
    {
        public Test(string name)
        {
            Console.WriteLine(name);
        }
    }
    public class Test2
    {
         public void Func()
         {
            //new 执行Test类中的Test(string name)
            Test test=new Test("Hello World");
         }
    } 

    2.泛型约束条件:无参构造函数(仅无参构造函数,有参不行)

    public T ItemFactory<T> where T : new()
    {
        public T GetNewItem()
        {
            return new T();
        }
    }

    3.覆盖基类属性和方法(与override不同,override重写,方法属性必须有abstract或virtual,new覆盖,可以修饰

    (除abstract)任何方法和属性;此两者互斥,最大区别是子类转父类,override是始终调用子类方法,

     而new是调用对应类的方法)

     new 位置可以放在首位,也可以在中间。

    public class BaseA
    {
        public int x = 1;
        public void Invoke()
        {
            Console.WriteLine(x.ToString());
        }
        public int TrueValue
        {
            get { return x; }
            set { x = value; }
        }
    }
    public class DerivedB : BaseA
    {
       //new 位置可以放在前面,也可以放在public 后面
        new public int x = 2;
        new public void Invoke()
        {
            Console.WriteLine(x.ToString());
        }
        new public int TrueValue
        {
            get { return x; }
            set { x = value; }
        }
    }
  • 相关阅读:
    TensorFlow进行简单的图像处理
    Python Numpy
    Python描述性统计
    对文件和文件夹操作的简单函数
    Tensorflow最简单的图像搭建识别系统
    Python大数据处理模块Pandas
    redis 小结
    datatable 和list 互转
    List集合去重的一种方法
    C#中TransactionScope的使用方法和原理
  • 原文地址:https://www.cnblogs.com/itsone/p/10302987.html
Copyright © 2011-2022 走看看