2010-04-20 14 views
11

Ich habe eine Methode in einer C#/WPF-Projekt und ich möchte einen Kommentar/Dokument es die XML-Kommentare verwenden ähnlicheVisual Studio XML-Kommentare (Zusammenfassung) und Sonderzeichen

/// <summary> 
    /// Initialises Drag & Drop 
    /// </summary> 
    void initDragDrop() 
    { 

    } 

Wenn ich jetzt nutzen Diese Methode irgendwo in meinem Projekt und die Maus darüber bewegen, bekomme ich die Nachricht "XML-Kommentar enthält ungültige XML: An dieser Stelle sind keine Leerzeichen erlaubt" (Ich übersetzte den Text nach dem Doppelpunkt manuell auf Englisch, so kann es nicht sei buchstäblich in deinem visuellen Studio). Ich fand das Problem ist das "&" Zeichen, wenn ich es entfernen, funktioniert es gut. Aber ich möchte es behalten, so wie ich es in der XML-Zusammenfassung entkomme? Ich habe versucht "\ &", aber das funktioniert nicht.

Danke für jeden Hinweis!

Antwort

16

Denken Sie daran, dass das Zeichen & in xml eine besondere Bedeutung hat (der Anfang einer Entität). Sie benötigen Kommentar wie dies stattdessen schreiben (ärgerlich, ich weiß):

/// <summary> 
/// Initialises Drag &amp; Drop 
/// </summary> 
void initDragDrop() 
{ 

} 

ich auf diesem nächsten Punkt falsch sein könnte, aber ich glaube nicht, dass Sie auch einen CDATA-Abschnitt können Sie die Einheit vermeiden, weil es die Kommentare unterbricht. Sie müssen geben Sie die gesamte &amp; Einheit aus.

+1

Eigentlich können Sie CDATA verwenden. Hier ist ein Beispiel aus einem meiner Projekte: http://kbcsv.codeplex.com/sourcecontrol/network/Show?projectName=kbcsv&changeSetId=42031#530479. Eine andere Option ist, die Dokumentation in eine separate Datei zu verschieben und in die Quelldatei. –

+0

Danke, gut wissen. –

+0

danke Ihnen beiden für Ihre Antworten! Kent, mit Ihrem Link habe ich gesehen, dass Ihre Klasse gut dokumentiert ist. Ich schätze, dass du daraus eine Kidn von HTML generierst? Welches Werkzeug verwenden Sie für diese Aufgabe? Das letzte Mal, als ich nach solchen Tools suchte, waren sie alle für frühere dot net Versionen oder schwer für Anfänger zu verwenden. Ich werde akzeptieren, Joels Antwort, zuerst ist es eine kurze Lösung, zweite Kent hinzugefügt seine Lösung als Kommentar, die nicht markierbar ist, sonst würde ich es auch markieren ;-) –