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 ...
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.
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.
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: Ссылка
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.