Propriedades autoimplementadas (Visual Basic)
Automático-implementado propriedades permitem que você especificar uma propriedade de uma classe de rapidamente sem precisar escrever código para Get e Set a propriedade. Quando você escrever código para uma propriedadede auto-implementado, o compilador Visual Basic cria automaticamente um campo privado para armazenar a propriedadevariável para além de criar associado Get e Set procedimentos.
Com as propriedades de auto-implementado, uma propriedade, incluindo um valor padrão, pode ser declarado em uma única linha. O exemplo a seguir mostra três declarações de propriedade .
Public Property Name As String
Public Property Owner As String = "DefaultName"
Public Property Items As New List(Of String) From {"M", "T", "W"}
Public Property ID As New Guid()
Uma propriedade de auto-implementado equivale a uma propriedade para o qual o valor da propriedade é armazenado em um campode particular. O exemplo de código a seguir mostra uma propriedadede auto-implementado.
Property Prop2 As String = "Empty"
O exemplo de código a seguir mostra o código equivalente no exemplo anterior de implementada propriedade auto-.
Private _Prop2 As String = "Empty"
Property Prop2 As String
Get
Return _Prop2
End Get
Set(ByVal value As String)
_Prop2 = value
End Set
End Property
Fazendo o campo
Quando você declara uma propriedadede auto-implementado, Visual Basic cria automaticamente um oculto privado campo chamado de fazendo o campo para conter o valor da propriedade . O nome do campo de backup é o nome da propriedade auto-implementado precedido por um caractere de sublinhado (_). Por exemplo, se você declarar uma propriedade de auto-implementado denominada ID, fazendo o campo é denominado _ID. Se você incluir um membro da sua classe também é chamado _ID, você produzir um conflito de nomes e Visual Basic reporta um errodo compilador.
O campo de backup também tem as seguintes características:
O modificador de acesso para o campo de backup é sempre Private, mesmo quando a propriedade tem um nível de acessodiferente, como Public.
Se a propriedade estiver marcada como Shared, o campo de backup também é compartilhado.
Atributos especificados para a propriedade fazer não aplicar ao campode backup.
O campo de backup pode ser acessados do código dentro da classe e de ferramentas de depuração , tais como a janela Inspeção. No entanto, o campo de backup não mostra em uma lista de conclusão depalavra IntelliSense.
Inicializando um Automático-propriedade implementada
Qualquer expressão que pode ser usado para inicializar um campo é válido para inicializar uma propriedadede auto-implementado. Ao inicializar uma propriedadede auto-implementado, a expressão é avaliada e passada para o Setoprocedimento para a propriedade. Os exemplos de código a seguir mostram algumas propriedades de auto-implementado incluem valores iniciais.
Property FirstName As String = "James"
Property PartNo As Integer = 44302
Property Orders As New List(Of Order)(500)
Você não pode inicializar uma propriedade de auto-implementado que é um membro de um Interface, ou que esteja marcado como MustOverride.
Quando você declara uma propriedade de auto-implementado como um membro de um Structure, você só pode inicializar a auto-implementado propriedade se ela estiver marcada como Shared.
Quando você declara uma propriedade do auto-implementado como uma matriz, você não pode especificar limites de matriz explícita. No entanto, você pode fornecer um valor usando um inicializador de matriz, conforme mostrado nos exemplos a seguir.
Property Grades As Integer() = {90, 73}
Property Temperatures As Integer() = New Integer() {68, 54, 71}
Definições de propriedade que exigem a sintaxe Padrão
Automático-implementado propriedades são convenientes e oferecer suporte a muitos cenários de programação. No entanto, há situações em que você não pode usar uma propriedade de auto-implementado e deve usar o padrão, ou expandido, a sintaxe de propriedade .
Você precisa usar expandida de propriedade-sintaxe de definição, se você deseja fazer qualquer um dos seguintes:
Adicionar o código para o Get ou Setoprocedimento de uma propriedade, como, por exemplo, o código para validar entrada valores a Setprocedimento. Por exemplo, convém verificar se uma seqüência de caracteres que representa um número de telefone contém o número necessário de numerais antes da configuração o valor da propriedade .
Especificar a acessibilidade de diferentes para o Get e Set procedimento. Por exemplo, convém fazer a Set procedimento Private e o Get procedimento Public.
Criar propriedades que são WriteOnly ou ReadOnly.
Usar propriedades parametrizadas (incluindo Default Propriedades). Você deve declarar uma propriedade de expandido para especificar um parâmetro para a propriedadeou para especificar parâmetros adicionais para o Set procedimento.
Coloque um atributo no campode backup ou alterar o nível de acesso do campode backup.
Fornece comentários XML para o campode backup.
Expandindo um Automático-propriedade implementada
Se você precisa converter um auto-implementado propriedade expandido propriedade que contém um Get ou Setprocedimento, o Editor de Código de Visual Basic pode gerar automaticamente o Get e Set procedimentos e End Propertyademonstrativo da propriedade. O código é gerado se você colocar o cursor sobre a seguinte linha de em branco a Propertydedemonstrativo, digite uma g (para Get) ou um s (para Set) e pressione ENTER. O Editor de Código Visual Basic gera automaticamente o Get ou Setoprocedimento para propriedades de somente leitura e somente gravação quando você pressiona ENTER no final de uma Propertydemonstrativo.
Consulte também
Tarefas
Como: declarar e chamar uma propriedade padrão em Visual Basic
Como: Declarar uma propriedade com níveis de acesso mistos (Visual Basic)
Referência
Outros recursos
Objetos e Classes no Visual Basic
Histórico de alterações
Date |
History |
Motivo |
Maio de 2010 |
Adicionada uma nota sobre como fazer os níveis de acesso do campo . |
Comentários do cliente. |