Pergunta

Em C #, eu estou tentando usar para fazer referência a uma assinatura de método que contém os parâmetros de palavra-chave. Eu sei que isso converte a lista de parâmetros para uma matriz, mas não posso mesmo descobrir como fazer referência a um array em um atributo CREF. Eu estou achando nada em minhas pesquisas e ninguém que eu conheço tem qualquer ideia, qualquer um. O compilador está engasgada com os colchetes. Eu tentei todos os tipos de combinações diferentes, usando chaves, usando a classe Array, mas nada está funcionando. Alguém sabe isso?

Foi útil?

Solução

O ECMA 334 padrão PDF, anexo E contém uma visão decente de comentários de documentação XML. Você pode baixar o padrão em:

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

Especificamente, você vai querer secção E.3.1, a partir da página 496.

conteúdo semelhante está também no MSDN (embora MSDN parece ter terrível navegação sobre este tema, o que torna difícil encontrar as outras seções):

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

O equivalente a E.3.1:

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

Você também pode encontrar a documentação do Mono útil:

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

specfically, o "CREF FORMATO" seção cobre as convenções da corda ID.

Atualização 2018/05/23

O URL para o PDF padrão ECMA-334 acima dos links para a última edição da norma. Em 2009, essa foi a 4ª edição da norma. No entanto, a partir de Dezembro de 2017, a 5ª edição é atual, e na secção E.3.1 do 4ª edição se tornou secção D.4.2 na 5ª edição.

As versões anteriores do padrão ECMA-334 estão disponíveis para download no seguinte página: https://www.ecma-international.org/publications/standards/Ecma-334-arch.htm

Outras dicas

De acordo com a B.3.1 ID de formato de cadeia artigo, fazendo referência a uma matriz é feito com [colchetes] (com especificadores lowerbound:size opcional), mas se você quiser apenas para se referir a um conjunto de um certo tipo (ou até mesmo uma matriz de objectos), você não pode simplesmente escrever

<see cref="Object[]"/>

Em vez disso você precisa especificar que você está fazendo uma referência tipo com o prefixo T:, como

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

Isto não parece aplicar-se ao fazer referência a uma sobrecarga específica de um método, como

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

Você simplesmente deixar de fora a palavra-chave param e colocar no tipo assim:

/// <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);
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top