C#でコンストラクタから引数の違うコンストラクタを実行する方法を調べてみました。
using System;
public class T
{
public T()
{
Console.WriteLine("T");
}
public T(int a)
{
Console.WriteLine("T: a=" + a);
}
public T(int a, string b) : this(a)
{
Console.WriteLine("T: b=" + b);
}
}
public class Example
{
static public void Main ()
{
T t1 = new T();
T t2 = new T(10);
T t3 = new T(123, "text");
}
}
実行結果
T
T: a=10
T: a=123
T: b=text
this
の代わりにbase
を使うことで基底クラスのコンストラクタを実行することもできるみたいです。
リンク
Using Constructors (C# Programming Guide) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/using-constructors