Propriedades de auto-implementado (Visual Basic)
Propriedades implementadas para auto permitem que você especificar uma propriedade de uma classe de rapidamente sem precisar escrever código para Get e Set a propriedade.Quando você escreve código para uma propriedade de auto-implementado, o compilador Visual Basic cria automaticamente um campo privado para armazenar a variável de propriedade para além de criar associado Get e Set procedimentos.
Com as propriedades de auto-implementada, uma propriedade, incluindo um valor padrão, pode ser declarada 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 implementada de auto é equivalente a uma propriedade para o qual o valor da propriedade é armazenado em um campo particular.O exemplo de código a seguir mostra uma propriedade de auto-implementado.
Property Prop2 As String = "Empty"
O exemplo de código a seguir mostra o código equivalente no exemplo anterior de propriedade auto-implementado.
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 propriedade implementada para auto, o Visual Basic cria automaticamente um campo particular oculto chamado a fazendo o campo para conter o valor da propriedade.O nome do campo de backup é o nome de propriedade auto-implementado precedido por um caractere de sublinhado (_).Por exemplo, se você declarar uma propriedade de auto-implementada chamada ID, o campo de backup é chamado _ID.Se você incluir um membro da sua classe que também é chamado _ID, você produzir um conflito de nomes e Visual Basic relata um erro do 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 própria propriedade tem um nível de acesso diferente, como Public.
Se a propriedade estiver marcada como Shared, o campo de backup também é compartilhado.
Atributos especificados para a propriedade não se aplicam ao campo de apoio.
O campo de backup pode ser acessado do código dentro da classe e de ferramentas de depuração, como a janela Watch.No entanto, o campo de apoio não mostra em uma lista de conclusão de palavras IntelliSense.
Ao inicializar uma propriedade de Auto-implementado
Qualquer expressão que pode ser usado para inicializar um campo é válido para inicializar uma propriedade de auto-implementado.Ao inicializar uma propriedade de auto-implementada, a expressão é avaliada e passada para o Set procedimento para a propriedade.Os exemplos de código a seguir mostram algumas propriedades de auto-implementado que 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 implementado automático 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 propriedade auto-implementado se ele estiver marcado como Shared.
Quando você declara uma propriedade de 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
Propriedades de auto-implementado 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 em vez disso, deve usar o padrão, ou expandido, sintaxe da propriedade.
Você deve usar a sintaxe expandida de definição de propriedade se você deseja fazer qualquer um destes procedimentos:
Adicione código para o Get ou Set procedimento de uma propriedade, como o código para validar os valores de entrada na Set procedimento.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 de definir o valor da propriedade.
Especificar a acessibilidade diferente para o Get e Set procedimento.Por exemplo, você talvez queira fazer o 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 expandida para especificar um parâmetro para a propriedade ou para especificar parâmetros adicionais para o Set procedimento.
Coloque um atributo no campo de apoio ou alterar o nível de acesso do campo como fazer.
Fornece comentários XML para o campo de apoio.
Expandindo a uma propriedade de Auto-implementado
Se você tiver que converter uma propriedade de auto-implementado em uma propriedade expandida que contém um Get ou Set procedimento, o Editor de códigos de Visual Basic pode gerar automaticamente o Get e Set procedimentos e End Property a declaração da propriedade.O código é gerado se você colocar o cursor sobre a seguinte linha em branco a Property instrução, digite uma g (para Get) ou um s (para Set) e pressione ENTER.O Editor de códigos de Visual Basic gera automaticamente o Get ou Set procedimento para propriedades somente leitura e gravação somente quando você pressiona ENTER no final de um Property instrução.
Consulte também
Tarefas
Como: declarar e chamar uma propriedade padrão em Visual Basic
Como: declarar uma propriedade com níveis de acesso misto (Visual Basic)