Listing 3
using namespace System;
delegate void CompleteHandler();
ref class Calculator
{
public:
event CompleteHandler^ Completed;
void Calculate()
{
// do some work
Completed();
}
};
ref class InformMe
{
public:
void InformOne()
{
Console::WriteLine("InformMe::InformOne");
}
static void InformTwo()
{
Console::WriteLine("InformMe::InformTwo");
}
};
void main()
{
Calculator^ calc = gcnew Calculator;
InformMe^ a = gcnew InformMe;
CompleteHandler^ del;
del = gcnew CompleteHandler(a, &InformMe::InformOne);
calc->Completed += del;
del = gcnew CompleteHandler(&InformMe::InformTwo);
calc->Completed += del;
calc->Calculate();
}