2009-04-17 7 views
14

En C#, trato de usar < vea cref = "blah"/> para hacer referencia a una firma de método que contiene la palabra clave params. Sé que esto convierte la lista de parámetros en una matriz, pero ni siquiera puedo averiguar cómo hacer referencia a una matriz en un atributo CREF. No encuentro nada en mis búsquedas y tampoco conozco a nadie. El compilador se está ahogando en los corchetes. He probado todo tipo de combinaciones diferentes, usando llaves, usando la clase Array, pero nada está funcionando. ¿Alguien sabe esto?Usando el atributo xml de credencial de comentario de C# con la sintaxis de parámetros

Respuesta

12

El ECMA 334 estándar PDF, Anexo E contiene una visión decente de comentarios de documentación XML. Puede descargar el estándar en:

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

Específicamente, usted querrá el apartado E.3.1, empezando en la página 496.

contenido similar está también en MSDN (MSDN aunque parece tener terribles navegación en este tema, por lo que es difícil encontrar las otras secciones):

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

El equivalente a E.3.1:

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

También puede encontrar documentación de Mono útil:

http://www.go-mono.com/docs/[email protected]%3amdoc(5)

specfically, la sección "CREF FORMATO" cubre las convenciones cadena de ID.

+3

+1 Para la investigación y la gran cantidad de referencias, pero sigo pensando que esta respuesta se beneficiaría de una colocación del ejemplo Requisitos de OP. – Basic

+0

Esta respuesta será bastante inútil cuando los enlaces dejen de funcionar. – James

4

Usted acaba de dejar de lado la palabra clave param y un puesto en el tipo de esta manera:

/// <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); 
     } 
    } 
34

De acuerdo con el artículo B.3.1 ID string format, haciendo referencia a una matriz se hace con [corchetes] (con lowerbound:size especificadores opcional), pero si sólo desea hacer referencia a un array de un tipo determinado (o incluso una serie de objetos), que puede 't acaba de escribir

<see cref="Object[]"/>

lugar, tiene que especificar que está haciendo una referencia de tipo con el T: prefijo, como

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

Esto no parece aplicarse al hacer referencia a una sobrecarga específica de un método, como

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

+0

Parece que el prefijo "M:" ('' es crucial. Especialmente para métodos sobrecargados. Gracias por un buen consejo. – ony

Cuestiones relacionadas