Documentação do MSDN para a classe DefaultValueAttribute pode ser confusa

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 311339
Sumário
Você pode encontrar a documentação de classe DefaultValueAttribute no seguinte site da MSDN confuso: Em particular, esta documentação estados:
Valor padrão de um membro é normalmente seu valor inicial.
Deste, você pode concluir que, se você definir o atributo DefaultValue para uma propriedade, a propriedade é inicializada para esse valor. No entanto, você deve definir atributo a propriedade de valor padrão igual ao seu valor inicializado.
Mais Informações
O tópico Extending Metadata Using Attributes no guia do desenvolvedor do Microsoft .NET Framework estados:
O common language runtime permite que você adicionar declarações descritivas como palavra-chave, chamados atributos, para fazer anotações em elementos de programação como tipos, campos, métodos e propriedades. Atributos são salvos com os metadados de um arquivo do Microsoft .NET Framework e podem ser usados para descrever o seu código para o tempo de execução ou para afetar o comportamento do aplicativo em tempo de execução.
Se atributo a propriedade do é igual a seu valor inicializado, você pode acessar metadados da propriedade para determinar o valor padrão. Em seguida, você pode usar esse valor padrão para redefinir a variável de membro correspondente se necessário. Você também pode escrever geradores de código para usar o atributo DefaultValue para determinar se o código deve ser gerado para a variável de membro. Você deve determinar se o código deve ser gerado para a variável de membro definir seu valor inicial corretamente.

No entanto, o atributo DefaultValue não fazer com que o valor inicial para ser inicializado com o valor do atributo. Por exemplo, no exemplo de código a seguir, a propriedade IsValueSet tem um valor padrão de True e também é inicializada para um valor de True . Se não inicializado, o valor inicial de m_isValueSet é False .
[Visual Basic]Imports System.ComponentModel Public Class DefaultAttributeSample    '    ' You must still initialize your member variable to its default value;     ' the DefaultValue attribute does not do this.    Private m_isValueSet As Boolean = True    '    ' The DefaultValue attribute should be equal to the member's initial    ' value.    <DefaultValueAttribute(True)> _    Public Property IsValueSet() As Boolean        Get            IsValueSet = m_isValueSet        End Get        Set(ByVal Value As Boolean)            m_isValueSet = Value        End Set    End PropertyEnd Class				
para obter mais informações sobre como aplicar atributos para que eles fornecem metadados para o common language runtime, consulte o seguinte site da MSDN: Como você pode exibir componentes em um designer como o Visual Studio .NET ou Visual Studio 2005, componentes necessitam de atributos que fornecem metadados para ferramentas em tempo de design.

Para exibir o controle e seus membros corretamente em tempo de design, atributos de tempo de design são essenciais porque eles fornecem informações valiosas para uma ferramenta design visual. Por exemplo, no fragmento de código a seguir, o atributo CategoryAttribute permite que o navegador de propriedade para exibir a propriedade TextAlignment da categoria de Alinhamento . O atributo DescriptionAttribute permite que o navegador de propriedade para fornecer uma breve descrição da propriedade quando um usuário clica nele.
[Visual C#]   [      Category("Alignment"),      Description("Specifies the alignment of text.")   ]   public ContentAlignment TextAlignment { //... }				
[Visual Basic]   <Category("Alignment"), _    Description("Specifies the alignment of text.")> _   Public Property TextAlignment As ContentAlignment      ' ...   End Property				
Observação : no Microsoft Visual .NET translation from VPE for Csharp, no Microsoft Visual Basic .NET ou no Microsoft Visual Basic 2005, você pode referenciar uma classe de atributo nomeada AttributeNameAttribute simplesmente como AttributeName na sintaxe do atributo.
Referências
Para obter mais informações, consulte guia documentação do seguinte Microsoft .NET Framework Developer:
incorreta

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 311339 - Última Revisão: 12/06/2006 23:18:25 - Revisão: 2.5

Microsoft Visual Basic 2005, Microsoft Visual Studio .NET 2003 Professional Edition, Microsoft Visual Studio .NET 2002 Professional Edition

  • kbmt kbvs2005swept kbvs2005applies kbcompmodel kbinfo KB311339 KbMtpt
Comentários