Invoke a constructor through this : Constructor « Class « C# / CSharp Tutorial






The general form is shown here:

constructor-name(parameter-list1) : this(parameter-list2) {
// ... body of constructor, which may be empty

}
using System;  
  
class XYCoord {   
  public int x, y;   
   
  public XYCoord() : this(0, 0) { 
    Console.WriteLine("Inside XYCoord()"); 
  }  
 
  public XYCoord(XYCoord obj) : this(obj.x, obj.y) { 
    Console.WriteLine("Inside XYCoord(obj)"); 
  }  
 
  public XYCoord(int i, int j) {  
    Console.WriteLine("Inside XYCoord(int, int)"); 
    x = i; 
    y = j; 
  }     
}     
     
class MainClass {     
  public static void Main() {     
    XYCoord t1 = new XYCoord();   
    XYCoord t2 = new XYCoord(8, 9);   
    XYCoord t3 = new XYCoord(t2);   
   
    Console.WriteLine("t1.x, t1.y: " + t1.x + ", " + t1.y);  
    Console.WriteLine("t2.x, t2.y: " + t2.x + ", " + t2.y);  
    Console.WriteLine("t3.x, t3.y: " + t3.x + ", " + t3.y);  
  }     
}
Inside XYCoord(int, int)
Inside XYCoord()
Inside XYCoord(int, int)
Inside XYCoord(int, int)
Inside XYCoord(obj)
t1.x, t1.y: 0, 0
t2.x, t2.y: 8, 9
t3.x, t3.y: 8, 9








7.13.Constructor
7.13.1.Add constructor to class
7.13.2.A parameterized constructor
7.13.3.Add a constructor with three parameters
7.13.4.An overloaded constructor.
7.13.5.Multiple Constructor version without duplicating a lot of the constructor code
7.13.6.Constuctor hidden
7.13.7.Copy constructor
7.13.8.Invoke a constructor through this
7.13.9.Use a static constructor.
7.13.10.Add a constructor to Triangle.
7.13.11.Private copy constructor used when making a copy of this object
7.13.12.Use Constructor to initialize member variables
7.13.13.Class without default constructor
7.13.14.Throw your own exception from class constructor