Tengo una biblioteca no administrada que expone algunas interfaces. Los usuarios pueden implementar interfaces y pegarlas en la biblioteca con su implementación personalizada.Envoltura administrada con interfaz no administrada
Me gustaría proporcionar un contenedor administrado para esta biblioteca. Envolver una interfaz no administrada con una administrada es fácil. Pero en mi caso me gustaría apoyar implementaciones de usuario de varias interfaces, lo que significa que necesito tomar una implementación administrada de una interfaz y envolverla usando su contraparte no administrada antes de enviarla a las profundidades de la parte no administrada de la biblioteca.
he intentado algo así como:
class UnmanagedWrapper {
DoSomething() {m_clr.DoSomething();}
IManaged^ m_clr;
}
pero no puedo han logrado los miembros dentro de una clase no administrada, el compilador legítimamente reclama.
¿Puedo hacer algo aquí?
Contexto insuficiente. Utilice gcroot <> o Marshal :: GetFunctionPointerForDelegate(). –