/***************************************/
/*★ 複数のハンドラを登録 前田 稔 ★*/
/***************************************/
using System;
namespace ConsoleApp
{
public delegate void TestDelegate(object sender, EventArgs e);
class Class2
{
public void startHandler( object o, EventArgs e )
{
Console.WriteLine("start handler called");
}
public void endHandler( object o, EventArgs e )
{
Console.WriteLine("end handler called");
}
}
class Class1
{
public event TestDelegate startDelegate;
public event TestDelegate endDelegate;
Class2 target1 = new Class2();
Class2 target2 = new Class2();
Class2 target3 = new Class2();
public Class1()
{
startDelegate += new TestDelegate(target1.startHandler);
startDelegate += new TestDelegate(target2.startHandler);
startDelegate += new TestDelegate(target3.startHandler);
endDelegate += new TestDelegate(target1.endHandler);
}
public void process()
{
Console.WriteLine("public void process() の実行");
}
static void Main()
{
Class1 main = new Class1();
main.startDelegate(main,EventArgs.Empty);
main.process();
main.endDelegate(main,EventArgs.Empty);
Console.ReadLine();
}
}
}
|