如何在 C# 中从同一类中某个构造函数内调用另一个构造函数?


利用 c# 中的 this 关键字从另一个构造函数调用一个构造函数

要调用父类中存在的构造函数,使用 base 关键字

示例

class Demo{
   public Demo(){
      System.Console.WriteLine("Parameter less constructor called");
   }
   public Demo(int firstNumber, int secondNumber) : this(){
      System.Console.WriteLine($"{firstNumber} {secondNumber}");
   }
   public Demo(int firstNumber, int secondNumber, int thirdNumber) : this(firstNumber, secondNumber){
      System.Console.WriteLine($"{firstNumber} {secondNumber} {thirdNumber}");
   }
}
class Program{
   static void Main(){
      Demo obj = new Demo(1, 2, 3);
      Console.ReadLine();
   }
}

输出

Parameter less constructor called
1 2
1 2 3

要调用另一个类中存在的构造函数,使用 base 关键字

示例

class DemoBase{
   public DemoBase(int firstNumber, int secondNumber, int thirdNumber){
      System.Console.WriteLine("Base class Constructor");
      System.Console.WriteLine($"{firstNumber} {secondNumber} {thirdNumber}");
   }
}
class Demo : DemoBase{
   public Demo(int firstNumber, int secondNumber, int thirdNumber) : base(firstNumber, secondNumber, thirdNumber){
      System.Console.WriteLine("Derived class Constructor");
      System.Console.WriteLine($"{firstNumber} {secondNumber} {thirdNumber}");
   }
}
class Program{
   static void Main(){
      Demo obj = new Demo(1, 2, 3);
      Console.ReadLine();
   }
}

输出

Base class Constructor
1 2 3
Derived class Constructor
1 2 3

更新日期: 04-Aug-2020

1K+ 浏览量

启动你的职业生涯

通过完成学习,获得认证

立即开始
广告
© . All rights reserved.