using System;
namespace Chapter01All
{
class DelegateCalcs
{
delegate void MyEventHandler(int a, int b);
class MyEvent
{
public event MyEventHandler SomeEvent;
public void Fire(int a, int b)
{
if (SomeEvent != null)
SomeEvent(a, b);
}
}
class X
{
public void Xhandler(int a, int b)
{
Console.WriteLine("和:" + (a + b));
}
}
class Y
{
public void Yhandler(int a, int b)
{
Console.WriteLine("差:" + (a - b));
}
}
class EventDemo
{
static void Handler(int a, int b)
{
Console.WriteLine("積:"+( a * b));
}
static void Main()
{
MyEvent evt = new MyEvent();
X xOb = new X();
Y yOb = new Y();
evt.SomeEvent += xOb.Xhandler;
evt.SomeEvent += yOb.Yhandler;
evt.SomeEvent += Handler;
evt.Fire(5, 10);
Console.WriteLine();
evt.Fire(10, 20);
}
}
}
}
和、差、積でやって見ましたが、本質が分かってないので、例題に沿って、組み込んでみました。delegate宣言がvoidであること、FireとSomeEventの関係などが分かってませんね。