Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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)