Frage

In C #, ich versuche siehe, um eine Methodensignatur zu verweisen, enthält das Schlüsselwort params zu verwenden. Ich weiß, das die Parameterliste in ein Array konvertiert, aber ich kann nicht einmal herausfinden, wie in einem CREF-Attribute auf ein Array verweisen. Ich finde nichts in meinen Suchvorgängen und niemand, den ich kenne eine Ahnung hat, auch nicht. Der Compiler ist erstickt an den eckigen Klammern. Ich habe alle Arten von verschiedenen Kombinationen ausprobiert, geschweiften Klammern, die Array-Klasse verwenden, aber nichts funktioniert. Wer weiß das?

War es hilfreich?

Lösung

Die ECMA 334 Standard-PDF, Anhang E enthält einen anständigen Überblick über XML-Dokumentation Kommentare. Sie können die Standard-Download unter:

http://www.ecma-international.org/publications/standards/Ecma-334.htm

Im Einzelnen werden Sie Abschnitt E.3.1 mögen, ab Seite 496.

ähnliche Inhalte auch auf MSDN (obwohl MSDN zu diesem Thema schreckliche Navigation zu haben scheint, was es schwierig machte, die anderen Abschnitte zu finden):

http://msdn.microsoft.com/en-us/library/aa664787 (VS 0,71) aspx

Das entspricht E.3.1:

http://msdn.microsoft.com/en-us/library/aa664807 (VS 0,71) aspx

Sie können auch Monos Dokumentation nützlich finden:

http://www.go-mono.com /docs/index.aspx?tlink=29@man%3amdoc(5)

specfically, der "CREF FORMAT" Abschnitt wird die ID-String-Konventionen.

Update 2018.05.23

Die URL für den ECMA-334-Standard PDF über Links auf die neueste Ausgabe der Norm. Im Jahr 2009 war, dass die 4. Ausgabe der Norm. Doch ab Dezember 2017 die 5. Auflage ist aktuell, und Abschnitt E.3.1 aus der 4. Auflage wurde Abschnitt D.4.2 in der 5. Auflage.

Die früheren Versionen des ECMA-334-Standard sind zum Download auf der folgenden Seite verfügbar: https://www.ecma-international.org/publications/standards/Ecma-334-arch.htm

Andere Tipps

Nach dem B.3.1 ID-String-Format Artikel, ein Array Referenzierung mit [eckigen Klammern] (mit optionalem lowerbound:size Bezeich) getan, aber wenn Sie nur auf ein Array eines bestimmten Typs beziehen mögen (oder sogar ein Object-Array), können Sie nicht nur schreiben

<see cref="Object[]"/>

stattdessen müssen Sie angeben, Sie machen eine Art Referenz mit dem T: Präfix, wie

<see cref="T:Object[]"/>

Dies scheint nicht zu gelten, wenn eine bestimmte Überlastung eines Verfahrens Referenzierung, wie

<seealso cref="String.Join(String, String[])"/>

Sie lassen Sie einfach das param-Schlüsselwort und in der Art so:

/// <summary>
/// <see cref="Method(string[])"/>
/// </summary>
public static void Main()
{
    Method("String1", "String2");
}

public static void Method(params string[] values)
{
    foreach (string value in values)
    {
        Console.WriteLine(value);
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top