2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【C#】デリゲートを使ってみた

Last updated at Posted at 2024-03-29

1. デリゲートとは

同じ型の引数を返す関数を格納できる変数のようなもの

2. デリゲートを使ってみる

次の処理を記述します

  1. void型でstring型の引数を1つ持つデリケートを定義する
    (これと同じ引数、戻り値を持つ関数はオブジェクトとして扱うことができる)

  2. デリケートにMethodメソッドを代入
    引数として受け取った文字列をそのまま返す

  3. デリケートにMethod2メソッドを代入
    引数として受け取った文字列を2つつなげて返す

  4. デリケートを呼出
    デリケートに追加した処理が実行される

test.cs
// デリゲートの宣言
public delegate void Func(string)

static void Main(string[] args)
{
    string hoge = "hoge";
    Func func = Method; // Methodメソッドをデリゲートに代入
    func += Method2; // Method2メソッドをデリゲートに代入
    func(hoge); // デリゲートを呼び出す(Method,Method2が呼ばれる)
}

// Methodメソッド
private static void Method(string hoge)
{
    console.WriteLine(hoge);
}

// Method2メソッド
private static void Method(string hoge)
{
    console.WriteLine(hoge + hoge);
}

実行結果

>> hoge
>> hogehoge
2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?