using namespace System;
ref struct A
{
static int Square(int i)
{
return i * i;
}
};
ref struct B
{
int Cube(int i)
{
return i * i * i;
}
};
/*1*/
delegate int Del(int value);
int main()
{
/*2*/ Del^ d = gcnew Del(&A::Square);
/*3*/ Console::WriteLine("d(10) result = {0}", d(10));
/*4*/ B^ b = gcnew B;
/*5*/ d = gcnew Del(b, &B::Cube);
/*6*/ Console::WriteLine("d(10) result = {0}", d(10));
}