Puede una asamblea que incluye no compatibles con CLS referencia de ser compatibles con CLS?

StackOverflow https://stackoverflow.com/questions/4975589

  •  12-11-2019
  •  | 
  •  

Pregunta

Tengo una DLL existente que no es compatible con CLS que hago referencia de mi propio proyecto.Cuando me marca mi asamblea como compatibles con CLS, tengo las advertencias del compilador que los nombres en las que se hace referencia de la asamblea no son compatibles con CLS.

Hay una manera que puedo mantener mi asamblea compatibles con CLS y marca la referencia de uno no?

¿Fue útil?

Solución

Sí, su archivo DLL puede ser compatible con CLS mientras no exponga ninguna no compatibles con CLS miembros de la referencia de ensamblado, es decir, no menciona en ninguna de sus propios público o protegido de los miembros o tipos.(Se puede utilizar con ellos en privado y miembros internos y tipos.)

Si su archivo DLL no necesita exponer tipos directamente de la no-conformidad DLL, se puede intentar encapsular esos tipos en sus propios contenedores (por ejemplo,un método puede devolver un MyWrapperAroundNaughtyType en lugar de una NaughtyType), o usted puede marcar los miembros relevantes de su API CLSCompliant(false) para optar sólo a aquellos miembros de compilador de cheques.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top