2009-03-03 19 views
7

Escribo mi primera biblioteca de clases en VB.NET. Mi idea es distribuir esta biblioteca para que otros puedan usarla en sus aplicaciones..net - ¿Cómo oculto métodos/propiedades de mi clase-biblioteca (DLL) de IntelliSense de Visual Studio?

Sin embargo, tal vez debido a mi falta de experiencia en la escritura y estructuración de la biblioteca y las clases allí, noté que los métodos/propiedades TODOS se muestran en IntelliSense de Visual Studio.

Lo que pasa es que muchos de ellos solo se usan dentro de la biblioteca y NO deben ser utilizados por los desarrolladores (podrían crear un desastre) cuando incorporan mi biblioteca en su aplicación; solo unos pocos deberían ser visibles, es decir, que son necesarios para el desarrollador.

Por lo tanto, mi pregunta es: ¿hay una manera de ocultar ciertos métodos/propiedades de mi biblioteca de Visual Studio IntelliSense de? Tal vez algo similar a REM?

Gracias de antemano.

EDIT: como se ha mencionado - esta es mi primera biblioteca y ahora entiendo que mi pregunta podría intepreted de dos maneras:

1) cómo ocultar algo de IntelliSense

2) cómo prevenir una desarrollador de usar y llamando a ciertos métodos/propiedades

Por supuesto, el resultado final que quiero es que el desarrollador no es capaz de acceso en todo ciertos métodos/propiedades, es decir, No. 2 anterior.

Muchas gracias. Acabo de aprender algo nuevo hoy y ahora voy a estudiar los niveles de acceso ...

Respuesta

23

Sólo los tipos/métodos/propiedades que desea que sea visible debe ser declarada Public. El resto debe ser declarada Private, Protected, Friend o Protected Friend.

Puede leer más sobre estos niveles de acceso en el MSDN web page for them. En general, por lo general, solo debes hacer que las cosas sean tan públicas como realmente deberían ser.

+1

1 Creo que esto es en realidad lo que el PO fue después - no pensé que al principio. –

+0

Andrew: Tienes razón, pero creo que mi pregunta fue muy vaga. Lo siento por eso. – moster67

+0

vino aquí a través del twitter de Skeet. ¡Bien! Voto ascendente. – abelenky

2

Como referencia: http://www.fmsinc.com/free/NewTips/NET/NETtip23.asp

[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] 
public void myHiddenMethod() { 
} 
+0

Para quien rechazó esto: simplemente edite, incluso si el idioma no es bueno, la respuesta por sí sola resuelve el problema. Solo edita. –

0

Hay un atributo que se puede aplicar a su código, meta datos que encurage Visual Studio para ocultar código. Este código se le puede llamar y se lo recomiendo en contra de ella, pero si realmente lo necesita, sólo tiene que añadir:

What Andrew Hare said... 

... a su código.

2

Si quiere ocultarlas a continuación, añadir una etiqueta filterpriority al comentario XML de la función con el valor 3

''' <summary> 
''' </summary> 
''' <filterpriority>3</filterpriority> 
''' <remarks></remarks> 
Sub DontShowMe() 

End Sub 

Esto ocultará por defecto en IntelliSense.También puede controlar la ubicación en la pestaña Común/Todos con los valores 1/2 respectivamente.

en blog sobre el tema: http://www.lostechies.com/blogs/sdorman/archive/2009/01/10/xml-comments-filterpriority.aspx

Cuestiones relacionadas