C#でコンストラクタから引数の違うコンストラクタを実行する方法

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

コメントを残す

メールアドレスが公開されることはありません。