У нас есть набор бизнес-правил Native C++, завернутый в C++/CLI, а затем в слой C#, поэтому мы можем предоставить его через DCOM.
Собственные бизнес-правила C++ находятся в библиотеке DLL и легко вызываются в C++/CLI, которая находится в видимой библиотеке COM. Затем мы добавляем эту DLL в качестве ссылки на проект C#.
Уровень C# имеет множество классов, производных от ServicedComponent, и мы применяем regsvcs, чтобы зарегистрировать его в качестве сервера DCOM.
Однако возникла потребность в том, чтобы уровень C++/CLI взаимодействовал с уровнем C#. Для этого я думал об использовании интерфейса в стиле С#. Уровень C# будет производным от интерфейса и передаст его на уровень C++/CLI, который затем может вызывать методы на нем, чтобы заставить что-то происходить на уровне C#. Этот интерфейс необходимо будет объявить на уровне C++/CLI для видимости. Это моя проблема, я, кажется, не могу этого добиться.
Есть ли способ объявить интерфейс стиля С# в С++/CLI, а затем использовать его в С#?