ใช้ประโยชน์จากสิ่งนี้ คีย์เวิร์ดใน 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