c++ - studio - Cómo ocultar correctamente los métodos y propiedades de intellisense
visual studio installer (1)
¿Alguien sabría cómo ocultar correctamente las clases, los métodos y las propiedades de intellisense mientras conserva la capacidad de llamarlos? y entonces no aparecen en ensamblados de interoperabilidad que se generan a partir de una biblioteca de tipos?
Estoy escribiendo ganchos de API para pruebas automáticas que aún no queremos que se expongan a los consumidores. Esto parece funcionar bien desde el editor incorporado de SaxBasic que viene con nuestra aplicación, pero no puede ocultar los objetos, métodos y propiedades cuando se agrega una referencia a nuestro ensamblado de interoperabilidad.
Aquí hay un ejemplo de cómo estoy tratando de ocultar estos; varias permutaciones han sido probadas, ¡gracias de antemano!
[
object,
uuid(guid),
helpstring("help"),
version(ver),
dual,
nonextensible,
oleautomation,
pointer_default(unique)
]IApplication.VisibleObj
interface IObj : IDispatch
{
//tried [hidden] here, no luck
[propget, id(91001), helpstring("Help str. Available as of Object Model Version X.X.X."), hidden]//again tried [hidden] here, no luck
HRESULT Obj([out, retval] IObj** ppObj);
}
Parece que Visual Studio 2008 y 2010 ahora ignoran el atributo ''oculto'', lo que hace que las interfaces que de otro modo se ocultan sean examinables. Parece que el conjunto de interoperabilidad se debe modificar adhiriendo lo siguiente sobre las clases, los métodos y las propiedades que se pretende que existan, pero que no se puedan explorar:
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]