Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เราจะเรียกตัวสร้างตัวหนึ่งจากตัวอื่นในคลาสเดียวกันใน C # ได้อย่างไร


ใช้ประโยชน์จากสิ่งนี้ คีย์เวิร์ดใน c # เพื่อเรียกคอนสตรัคเตอร์ตัวหนึ่งจากคอนสตรัคเตอร์อื่น

ในการเรียก Constructor ที่มีอยู่ในคลาสพาเรนต์ให้ใช้ 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

ในการเรียก Constructor ที่อยู่ในคลาสอื่นให้ใช้คีย์เวิร์ดพื้นฐาน

ตัวอย่าง

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