C# で複数のコンストラクタを呼び出す方法
- [コンストラクターの使用 – C# プログラミング ガイド | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-constructors*
C# でコンストラクタを複数呼び出す方法をまとめます。
コンストラクタで this
キーワードを使用することで、同じオブジェクトで異なる引数のコンストラクタを呼び出すことができます。
例えば以下のようなクラスがあったとします。
class Person
{
public int Age;
public Person()
{
this.Age = 0;
}
public Person(int age)
{
this.Age = age;
}
}
2つのコンストラクタが定義されています。いずれも Age
の値を初期化しています。
これを this
キーワードを使って以下のように書くことができます。
class Person
{
public int Age;
public Person() : this(0)
{
Console.WriteLine("コンストラクタ - 2");
}
public Person(int age)
{
Console.WriteLine("コンストラクタ - 1");
this.Age = age;
}
}
このクラスを初期化すると、以下のような順で実行されます。
var p = new Person();
// コンストラクタ - 1
// コンストラクタ - 2
複数のコンストラクタが順番に実行されていることが確認できます。
以上。
コメントを書く