Tôi có một thư viện bao gồm ba phần. Đầu tiên là C++ bản địa, cung cấp chức năng thực tế. Thứ hai là trình bao bọc/bộ chuyển đổi C++/CLI cho thư viện C++, để đơn giản hóa quá trình chuyển đổi C# thành C++. Cuối cùng tôi có một thư viện C#, nó gọi thư viện C++ thông qua bộ chuyển đổi C++/CLI.Chia sẻ enum từ C#, C++/CLI và C++
Ngay bây giờ ở đó, tôi có hai bộ định nghĩa enum song song, một tệp được lưu trữ trong tệp .cs và tệp còn lại trong tệp .h. Điều này đặt ra một vấn đề đôi:
- Tôi có bảo trì kép. Tôi phải luôn luôn đồng bộ hóa các thay đổi của một enum ở cả hai vị trí tập tin.
- Không gian tên được sử dụng bởi cả hai enums phải giống hệt nhau nhưng trình bao bọc C++/CLI, xem cả hai tập hợp các enums và dịch giữa chúng, phát sinh một va chạm đặt tên.
Ngay bây giờ tôi không chắc chắn một giải pháp như this hoặc that sẽ giải quyết cả vấn đề. Suy nghĩ?
không trùng lặp nhưng thấy câu hỏi tương tự: http: // stackoverflow.com/questions/954321/is-it-possible-to-share-an-enum-khai báo-giữa-c-và-không được quản lý-c –
có thể trùng lặp của [Làm cách nào để chia sẻ một hằng số giữa mã C# và C++?] (http://stackoverflow.com/questions/3146017/how-do-i-share-a-constant-between-c-and-c-code) –
@Billy: nó không phải là một bản sao, vì lớp C++/CLI ở đây cung cấp một số tùy chọn bổ sung. Tuy nhiên, câu trả lời ở bài đăng bạn đưa ra cũng có thể hữu ích, ở đây. –