Вы решаете это так же, как в обычном C ++: сначала вы объявляете тип и его функции, затем используете их и определяете их после этого, вне остальной части кода типа.Итак, если вы хотите, чтобы все было в одном файле (и не имели дело с заголовочными файлами и т. Д.), Вы можете сделать что-то вроде:
public ref class EventHandler
{
public:
EventHandler(){}
void DataChanged(Object^ sender, DataTableEventArgs ^arg);
};
public ref class DTManager
{
// all of DTManager's code goes here; you can use EventHandler::DataChanged
};
void EventHandler::DataChanged(Object^ sender, DataTableEventArgs ^arg);
{
DTManager::DataChanged(arg);
}
Обычный способ C ++ - объявить все типы и их функции вЗаголовочные файлы и поместите только их определения в файлы кода.Делать это таким способом намного проще для больших проектов, особенно если у вас круговые зависимости.