¿Alguien sabría cómo ocultar correctamente las clases, los métodos y las propiedades de intellisense conservando la capacidad de llamarlos? y entonces no aparecen en ensamblados de interoperabilidad que se generan a partir de una biblioteca de tipos?Cómo ocultar correctamente los métodos y propiedades de intellisense
Estoy escribiendo ganchos API para pruebas automatizadas 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);
}
¿por qué se exporta método que don ¿Quieres que te vean? ¡simplemente no lo exportes! – Andrey
Parcialmente porque así es como los desarrolladores de la aplicación me enseñaron cómo acceder a la lógica interna (ayer) y en parte porque el modelo de datos está lejos del usuario final. Nuestro marco de prueba interactúa con nuestra aplicación de la misma manera que esperaríamos que lo hicieran los desarrolladores de terceros. – BrMcMullin