using System;
delegate void Delegate();
class SampleClass
{
public void printOut1()
{
Console.WriteLine("Delegate1");
}
// 静的Method
public static void printOut2()
{
Console.WriteLine("Delegate2");
}
public void printOut3()
{
Console.WriteLine("Delegate3");
}
}
class MainClass
{
static void Main()
{
// SampeClassをインスタンス化
SampleClass sample = new SampleClass();
// Methodを登録
Delegate del = sample.printOut1;
// 出力値:Delegate1
del();
// Methodをさらに登録
del += SampleClass.printOut2;
/* 出力値
* Delegate1
* Delegate2 */
del();
// Methodをさらに登録
del += sample.printOut3;
/* 出力値
* Delegate1
* Delegate2
* Delegate3 */
del();
// Methodを削除
del -= sample.printOut1;
/* 出力値
* Delegate2
* Delegate3 */
del();
}
}
0 コメント:
コメントを投稿