Entregamos una serie de ensamblajes a clientes externos, pero no todas las API públicas son oficialmente compatibles. Por ejemplo, debido a opciones de diseño menos que óptimas, a veces un tipo debe exponerse públicamente desde un ensamblaje para que funcione el resto de nuestro código, pero no queremos que los clientes usen ese tipo. Una parte de comunicar la falta de soporte no es proporcionar ningún tipo de inteligencia en forma de comentarios XML.suprimir selectivamente los comentarios del código XML en C#?
¿Hay alguna forma de suprimir selectivamente los comentarios XML? Estoy buscando algo más que ignorar la advertencia 1591 ya que es un problema de mantenimiento a largo plazo.
Ejemplo: Tengo un ensamblado con las clases públicas A y B. A es oficialmente compatible y debe tener documentación XML. B no es para uso externo y no debe documentarse. Podría activar la documentación XML y luego suprimir la advertencia 1591. Pero cuando más tarde agregue la clase C oficialmente admitida, quiero que el compilador me diga que me equivoqué y no pude agregar la documentación XML. Esto no ocurriría si hubiera suprimido 1591 a nivel de proyecto. Supongo que podría #pragma en todas las clases, pero parece que debería haber una mejor manera de hacerlo.
Alas Estoy lidiando con una gran cantidad de código, así que esto no es práctico. –
@Mike Post Mantener su API pública separada de su API privada debería haber sido su principal preocupación desde el primer día, si no es así, tendrá que realizar muchas refactorizaciones. No hay una solución rápida para eso y lo que John sugiere es realmente amable, no sabía que podía exponer los métodos internos a otras asambleas * friend *. –