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