Tôi có một thư viện không được quản lý hiển thị một số giao diện. Người dùng có thể thực hiện các giao diện và gắn chúng vào thư viện với triển khai tùy chỉnh của chúng.Gói được quản lý với giao diện không được quản lý
Tôi muốn cung cấp trình bao bọc được quản lý cho thư viện này. Việc gói một giao diện không được quản lý với giao diện được quản lý rất dễ dàng. Nhưng trong trường hợp của tôi, tôi muốn hỗ trợ việc triển khai thực hiện các giao diện khác nhau có nghĩa là tôi cần thực hiện một giao diện được quản lý và bọc nó bằng cách sử dụng đối tác không được quản lý của nó trước khi gửi nó vào sâu trong phần không được quản lý của thư viện.
tôi đã cố gắng một cái gì đó như:
class UnmanagedWrapper {
DoSomething() {m_clr.DoSomething();}
IManaged^ m_clr;
}
Nhưng tôi không thể có được quản lý các thành viên trong một lớp không được quản lý, trình biên dịch chính đáng tuyên bố.
Tôi có thể làm gì ở đây không?
Không đủ ngữ cảnh. Sử dụng gcroot <> hoặc Marshal :: GetFunctionPointerForDelegate(). –