@ Частично, вы подняли важный вопрос. Вы не можете передать «объект» .NET обратно в C ++ (если это не Managed C ++), потому что семантика объекта .NET отличается от семантики объекта C ++.
@ Cute: однако вы можете передавать указатели интерфейса COM. Если вам нужен ваш «традиционный C ++» код для общения с объектами .NET, используйте COM-интерфейсы, а не объекты.
Убедитесь, что ваш объект помечен как объект COM, и что вы реализуете подходящий интерфейс, который содержит методы, необходимые вашему C ++. Затем передайте массив ссылок интерфейса обратно в код C ++. Код C ++ должен получить указатель SafeArray COM-интерфейса, которым он может манипулировать с обычной семантикой COM (AddRef () и т. Д.).