2009-06-22 3 views
1

Ich weiß, wie dies für C++/CLI und .NET im Allgemeinen durchzuführen, aber C++ hat keine Attribute. Das Szenario ist das:Klassenmethoden von Intellisense und/oder bestimmten "Clients" ausblenden?

Wir möchten einige Methoden in der Binärdatei bereitstellen, aber wir wollen nicht alle unsere Kunden, sie zu verwenden. Wenn ein Kunde es braucht, können wir ihm entweder sagen, was die Signatur ist, oder ihm eine andere nicht-binäre Datei schicken.

+1

Eine mögliche Lösung finden Sie hier: http://stackoverflow.com/questions/6496524/hide-a-c-code-block-from-intellisense –

Antwort

2

Ich glaube nicht, dass Sie das kontrollieren können. Da Sie die Header-Dateien für die Bibliothek veröffentlichen müssen, werden Sie die gesamte Schnittstelle verfügbar machen, auch wenn Sie nicht über Intellisense verfügen.

Sie sollten jedoch denken, dass es andere Tools gibt, die dasselbe tun, das von vielen Entwicklern verwendet wird (z. B. Visual Assist).

Wenn Sie einige Implementierungsdetails ausblenden möchten, ist eine bessere Lösung, pimpl idiom anzuwenden und in Header-Dateien die Interface-Klassen mit den "öffentlichen", verwendbaren Methoden bereitzustellen.

Die Implementierungsklassen werden nur aus den cpp-Dateien enthalten sein, die compiliert sind und nur in den öffentlichen Header-Dateien deklariert sind.

Verwandte Themen