Да. Приложение C ++ / CLI сможет взаимодействовать с приложением C # одним из двух способов:
Если вы используете расширения CLI (что из вашего поста звучит как это), вы сможете написать код, используя новые ссылки на объекты:
Управляемые объекты: System::String^ myString
(в C ++) совпадает с string myString
в C #
Управляемые ссылки: System::String% myString
эквивалентно ref string myString
.
Если вы хотите использовать собственные типы C ++, вам придется использовать P / Invoke, но это совершенно другая категория. Для того, что вы хотите сделать, просто добавьте проект C ++ в качестве ссылки на ваш проект C #, напишите общедоступный класс в C ++, используя управляемые типы, а затем скомпилируйте. Ваш проект должен быть виден вашему классу C # в любом пространстве имен, которое вы выбрали для класса C ++.
РЕДАКТИРОВАТЬ: о, и если вам нужно выделить управляемые объекты через C ++, вам нужно будет использовать gcnew
вместо new
.