.net - Wie verberge ich Methoden / Eigenschaften meiner Klassenbibliothek (dll) von Visual Studio IntelliSense?

7

Ich schreibe meine erste Klassenbibliothek in VB.NET. Meine Idee ist, diese Bibliothek zu verteilen, damit andere sie in ihren Anwendungen verwenden können.

Jedoch, vielleicht aufgrund meiner mangelnden Erfahrung beim Schreiben und Strukturieren der Bibliothek und der darin enthaltenen Klassen, bemerkte ich, dass die Methoden / Eigenschaften ALLE im IntelliSense von Visual Studio gezeigt werden.

Die Sache ist, dass viele von ihnen nur innerhalb der Bibliothek selbst verwendet werden und NICHT von den Entwicklern verwendet werden sollten (könnte ein Desaster verursachen), wenn sie meine Bibliothek in ihre Anwendung integrieren - nur ein paar sollten sichtbar sein, dh diejenigen, die werden vom Entwickler benötigt.

Meine Frage lautet also: Gibt es eine Möglichkeit, bestimmte Methoden / Eigenschaften meiner Bibliothek vor Visual Studio IntelliSense zu verbergen? Vielleicht etwas ähnliches wie REM?

Vielen Dank im Voraus.

EDIT: wie gesagt - das ist meine erste Bibliothek und ich verstehe jetzt, dass meine Frage auf zwei Arten interpretiert werden kann:

1) wie man etwas vor IntelliSense verbergen kann

2) wie man verhindert, dass ein Entwickler bestimmte Methoden / Eigenschaften verwendet und aufruft

Das Endergebnis, das ich möchte, ist natürlich, dass der Entwickler nicht auf ALLE bestimmten Methoden / Eigenschaften zugreifen kann, d. h. Nr. 2 oben.

Vielen Dank. Ich habe heute etwas Neues gelernt und werde jetzt Access Levels lernen ...

    
moster67 03.03.2009, 20:27
quelle

5 Antworten

23

Nur die Typen / Methoden / Eigenschaften, die sichtbar sein sollen, sollten als Public deklariert werden. Der Rest sollte als Private , Protected , Friend oder Protected Friend deklariert werden.

Sie können mehr über diese Zugriffsebenen auf der MSDN-Webseite für sie lesen. Im Allgemeinen solltest du Dinge nur so öffentlich machen, wie sie wirklich sein müssen.

    
Jon Skeet 03.03.2009, 20:30
quelle
4

Sie müssen ihre Zugriffsmodifizierer auf etwas anderes als "Öffentlich" ändern. Wenn sie nur innerhalb einer bestimmten Klasse verwendet werden, setzen Sie sie auf Private Sub XYZ (). Wenn auf sie von anderen Klassen in derselben Assembly zugegriffen werden muss, stellen Sie Friend Sub XYZ () usw. her.

Ссылка

    
NYSystemsAnalyst 03.03.2009 20:30
quelle
2

Wenn Sie sie ausblenden möchten, fügen Sie dem XML-Kommentar der Funktion einen Filterprioritäts-Tag mit dem Wert 3

hinzu %Vor%

Dadurch wird es standardmäßig in intellisense ausgeblendet. Sie können die Platzierung auch auf der Registerkarte Allgemein / Alle mit den Werten 1/2 steuern.

Blogbeitrag zum Thema: Ссылка

    
JaredPar 03.03.2009 20:33
quelle
2

Als Referenz: Ссылка

%Vor%     
Inferis 03.03.2009 20:30
quelle
0

Es gibt ein Attribut, das Sie auf Ihren Code anwenden können, Metadaten, die Visual Studio veranlassen, Code zu verbergen. Dieser Code kann immer noch aufgerufen werden und ich würde empfehlen, aber wenn Sie es wirklich brauchen, fügen Sie einfach hinzu:

%Vor%

... zu deinem Code.

    
John Leidegren 03.03.2009 20:31
quelle

Tags und Links