Я пишу приложение на Managed C ++ (CLI \ C ++).В которой я использую библиотеку (файл .dll), которая написана на C #.
В файле я сталкиваюсь с проблемой.
Я реализую функции интерфейса, который написан набиблиотека.
Объявление функции в библиотеке выглядит следующим образом:
COMWORKSPACELib.IWorkspaceEvents.WorkspaceMessage(int, string, COMWORKSPACELib.EnumNotificationCode, COMWORKSPACELib.EnumNotificationType, string, ref COMWORKSPACELib.EnumNotificationReply);
Когда я пишу тот же код в CLI \ C ++, объявление выглядит так:
WorkspaceMessage(int workspaceToken, String ^description, EnumNotificationCode ^code, EnumNotificationType ^type, String ^source, EnumNotificationReply ^%action);
Здесь компилятор выдает ошибку, что «класс должен обеспечивать реализацию метода интерфейса».Поскольку параметры, передаваемые в обоих объявлениях функций, синтаксически различны.
Есть ли альтернативный способ сопоставить объявление библиотеки?
Если я удаляю символы «^» и «%», чтобы соответствовать библиотекеобъявление затем дает дальнейшие ошибки в коде.