У меня есть следующая функция в DLL-библиотеке классов С++/CLI:
public delegate void StandardOutputError(String^ Message);
bool foo(System::String^% arg1, System::String^% arg2, System::String^% arg3, StandardOutputError^ Output);
Как мне экспортировать его, чтобы его можно было вызывать произвольным управляемым кодом (C++/CLI)? Меня больше всего беспокоит аргумент делегата. Можно ли безопасно преобразовать его в указатель функции и обратно (то есть, если невозможно напрямую экспортировать функции __clrcall)?