準備
(なし)
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。
サンプルコード (C#)
// 名前空間の追加
// (なし)
// デリゲートの宣言
delegate int TestDelegate(int v1, int v2);
// コード
private void button1_Click(object sender, EventArgs e)
{
TestDelegate td = CalcAdd;
listBox1.Items.Add(CalcSub(20, td));
}
private int CalcAdd(int v1, int v2)
{
return v1 + v2;
}
private int CalcSub(int v1, TestDelegate td)
{
return v1 - td(2, 3);
}
解説
メソッド CalcSub はデリゲート型変数を引数にとることができます。実際にメソッド CalcAdd が代入された変数 td を渡しています。
結果

動作確認環境
Visual Studio 2015 Professional (C# 6.0)