скажем, у меня есть три класса: class1, control1 и form1;Form1 создает экземпляр управления.и control1 создает экземпляр class1, позднее генерирует какое-то событие, которое мне нужно «обойти» для form1, чтобы добиться того, чтобы я сделал промежуточную функцию, как показано ниже:
public delegate void TestHandler(String^ str);
public ref Class class1
{
event TestHandler^ TestHappen;
void someFunction()
{
TestHappen("test string");
}
};
public ref Class control1
{
event TestHandler^ TestHappen;
class1^ class1Obj;
control1()
{
class1Obj= gcnew class1();
class1Obj->TestHappen+= gcnew TestHandler(this,&control1::onTest);
}
void onTest(String^ str)
{
TestHappen(str);
}
};
public ref Class form1
{
control1^ control1Obj;
form1()
{
control1Obj= gcenw control1();
control1Obj->TestHappen+= gcnew TestHandler(this,&form1::onTest);
}
void onTest(String^ str)
{
//do something with the string...
}
};
Я не хочу использовать class1в form1 есть способ удалить промежуточную функцию onTest ().