2016-06-24 6 views
2

Ich erstelle eine Klassenbibliothek und habe verschiedene Funktionen im Inneren. Ich habe auch eine Konsolenanwendung, die auf diese Funktionen zugreifen kann, sobald sie auf die Klassenbibliothek verweisen. Ich würde gerne wissen, wie man eine Funktion "unsichtbar" macht, so dass der Client nicht in der Lage ist, sie zu sehen, und sie können sie nur verwenden, wenn sie sie perfekt schreiben.Wie mache ich die Funktion "unsichtbar" in einer Klassenbibliothek C#

Ich habe diese Funktion in meiner Klasse Library:

public string custommessage(string messagetosend) 
     { 

     string receivedmessage = CallServer(messagetosend); 
     return receivedmessage; 

    } 

und basicly, wenn ich in einem anderen Programm bin Referenzierung der Bibliothek Ich möchte nicht diese Funktion in der Liste meiner verfügbar Funktionen sehen, zur Auswahl:

enter image description here

+1

warum nicht privat verwenden? oder intern – adt

+1

Sie meinen wie private oder geschützte Zugriffsmodifizierer? –

Antwort

6

anfügen

[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] 

zu Ihrer Methode als Attribut. Dies wird die Funktion vor Intellisense verbergen.

+0

Platziere ich es über die Funktion? – George

+1

Ein wichtiges Implementierungsdetail für zukünftige Leser. Dies verdeckt die Funktion/Klasse nicht, wenn Sie sich innerhalb derselben Assembly befinden. Sie wird nur dann ausgeblendet, wenn Sie sie von einer externen Assembly referenzieren. @ George das ist, wie Ihre Kunden es verwenden werden, so dass es perfekt für Sie sein wird, nur nicht überrascht sein, wenn es auf Ihrem eigenen Rechner angezeigt wird, während Sie das Projekt geöffnet haben. –

+0

Ja, leg es einfach über die Funktion. – Dispersia

Verwandte Themen