Property — Instrukcja

Deklaruje nazwę właściwości i procedur właściwości używane do przechowywania i pobierania wartości właściwości.

[ <attributelist> ] [ Default ] [ accessmodifier ] 
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] [ Iterator ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
    [ <attributelist> ] [ accessmodifier ] Get
        [ statements ]
    End Get
    [ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
        [ statements ]
    End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ] 
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] 
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]

Części

Termin

Definicja

attributelist

Opcjonalne.Lista atrybutów, które dotyczą tej właściwości lub Get lub Set procedury.Zobacz listy atrybutów.

Default

Opcjonalne.Określa, że ta właściwość jest domyślną właściwość klasy lub struktury, na którym jest zdefiniowana.Domyślne właściwości musi akceptować parametry i można ustawić a pobierane bez określania nazwy właściwości.Jeśli można zadeklarować właściwości jako Default, nie można użyć Private na właściwość lub albo procedury jego właściwości.

accessmodifier

Opcjonalne na Property instrukcji i co najwyżej jeden z Get i Set instrukcji.Może być jedną z następujących czynności:

See Poziomy dostępu w Visual Basic.

propertymodifiers

Opcjonalne.Może być jedną z następujących czynności:

Shared

Opcjonalne.See Shared (Visual Basic).

Shadows

Opcjonalne.See Shadows (Visual Basic).

ReadOnly

Opcjonalne.See ReadOnly (Visual Basic).

WriteOnly

Opcjonalne.See WriteOnly (Visual Basic).

Iterator

Opcjonalne.Zobacz iteratora.

name

Wymagane.Nazwa właściwości.See Zadeklarowane nazwy elementów (Visual Basic).

parameterlist

Opcjonalne.Zmienna lokalna lista nazw reprezentujących parametry tej właściwości i możliwe dodatkowe parametry Set procedury.See Lista parametrów (Visual Basic).

returntype

Required if OptionStrict is On.Typ danych wartości zwracanej przez tę właściwość.

Implements

Opcjonalne.Wskazuje, że ta właściwość implementuje jednej lub więcej właściwości, każde zdefiniowane w interfejsie implementowane przez klasy lub struktury zawierające tej właściwości.See Implements — Instrukcja.

implementslist

Jeśli wymagane Implements jest dostarczany.Lista właściwości realizowane.

implementedproperty [ , implementedproperty ... ]

Każdy implementedproperty ma następującą składnię i części:

interface.definedname

Część

Opis

interface

Wymagane.Nazwa interfejsu zaimplementowanego przez tę właściwość zawierający klasy lub struktury.

definedname

Wymagane.Nazwa, przez który właściwość jest zdefiniowana w interface.

Get

Opcjonalne.Wymagane, jeśli właściwość jest oznaczony WriteOnly.Uruchamia Get procedurę właściwość, która jest używane do zwracania wartości właściwości.

statements

Opcjonalne.Blok instrukcji do uruchomienia w Get lub Set procedury.

End Get

Kończy Get właściwość procedury.

Set

Opcjonalne.Wymagane, jeśli właściwość jest oznaczony ReadOnly.Uruchamia Set procedury właściwość, która jest używana do przechowywania wartości właściwości.

End Set

Kończy Set właściwość procedury.

End Property

Kończy definicję tej właściwości.

Uwagi

Property Instrukcji wprowadzono deklaracji właściwości.Właściwość może mieć Get procedura (tylko do odczytu), Set procedura (tylko zapis) lub obu (odczytu i zapisu).Można pominąć Get i Set procedurę, używając właściwości auto wdrożone.Aby uzyskać więcej informacji, zobacz Właściwości zaimplementowane automatycznie (Visual Basic).

Można użyć Property tylko na poziomie klasy.Oznacza to kontekście deklaracji właściwość musi być klasy, struktury, moduł lub interfejsu i nie może być plik źródłowy, obszar nazw, procedury lub bloku.Aby uzyskać więcej informacji, zobacz Kontekst deklaracji i domyślne poziomy dostępu (Visual Basic).

Właściwości korzystają domyślnie z publicznego dostępu.Można dostosować poziom dostępu do właściwości z modyfikatora dostępu na Property instrukcji, a można opcjonalnie dopasować jednej z jego właściwości procedur bardziej restrykcyjny poziom dostępu.

Visual Basic przekazuje parametr Set procedury podczas przypisania właściwości.Jeśli nie podasz parametru Set, zintegrowane środowisko programistyczne (IDE) wykorzystuje parametr niejawny o nazwie value.Ten parametr ma wartość przypisaną do właściwości.Zazwyczaj przechowywać tę wartość w prywatnej zmiennej lokalnej i zwraca go przy każdym Get wywołania procedury.

Zasady

  • Mieszane poziomy dostępu. Jeśli definiowania właściwości do odczytu i zapisu, można opcjonalnie określić poziom dostępu dla albo Get lub Set procedura, ale nie obu.W przypadku tej procedury poziom dostępu musi być bardziej restrykcyjny niż poziom dostępu do właściwości.Na przykład, jeśli właściwość jest zadeklarowana jako Friend, można zadeklarować Set procedury Private, ale nie Public.

    Jeśli są definiowane ReadOnly lub WriteOnly właściwość, procedura pojedynczej właściwości (Get lub Set, odpowiednio) reprezentuje wszystkie właściwości.Nie można zadeklarować poziom dostępu dla procedury, ponieważ, ustawić dwa poziomy dostępu dla właściwości.

  • **Zwraca typ.**Property Instrukcji można zadeklarować typ danych zwracanych wartości.Można określić dowolny typ danych lub nazwę wyliczenia, struktury, klasy lub interfejsu.

    Jeśli nie zostanie returntype, zwraca wartość właściwości Object.

  • Implementacja. Jeśli właściwość ta używa Implements musi mieć słowa kluczowego, zawierający klasy lub struktury Implements oświadczenie niezwłocznie po jego Class lub Structure instrukcji.Implements Instrukcja musi zawierać każdego interfejsu, określona w implementslist.Jednakże nazwy, przez który definiuje interfejs Property (w definedname) nie musi być taka sama jak nazwa tej właściwości (w name).

Zachowanie

  • Zwracanie z procedury właściwości. Gdy Get lub Set procedurę zwraca kod wywołujący, wykonywanie jest kontynuowane dla instrukcji po instrukcji, która ją wywołała.

    Exit Property i Return instrukcji spowodować natychmiastowe zakończenia procedury właściwości.Dowolna liczba Exit Property i Return sprawozdań może pojawiać się wszędzie w procedurze i mogą mieszać Exit Property i Return instrukcji.

  • Zwraca wartość. Zwraca wartość z Get procedury, można przypisać wartości do nazwy właściwości lub umieścić je w Return instrukcji.Poniższy przykład przypisuje wartość zwracana nazwa właściwości quoteForTheDay , a następnie używa Exit Property instrukcji, aby powrócić.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property quoteForTheDay() As String 
        Get
            quoteForTheDay = quoteValue
            Exit Property 
        End Get 
    End Property
    

    Jeśli używasz Exit Property bez przypisywania wartości do name, Get procedurę zwraca domyślną wartość dla właściwości typu danych.

    Return Instrukcja jednocześnie przypisuje Get procedurę zwraca wartość i kończy procedurę.Następujący przykład przedstawia to.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property quoteForTheDay() As String 
        Get 
            Return quoteValue
        End Get 
    End Property
    

Przykład

Poniższy przykład deklaruje właściwością w klasie.

Class Class1
    ' Define a local variable to store the property value. 
    Private propertyValue As String 
    ' Define the property. 
    Public Property prop1() As String 
        Get 
            ' The Get property procedure is called when the value 
            ' of a property is retrieved. 
            Return propertyValue
        End Get 
        Set(ByVal value As String)
            ' The Set property procedure is called when the value  
            ' of a property is modified.  The value to be assigned 
            ' is passed in the argument to Set.
            propertyValue = value
        End Set 
    End Property 
End Class

Zobacz też

Informacje

Get — Instrukcja

Set — Instrukcja (Visual Basic)

Lista parametrów (Visual Basic)

Default (Visual Basic)

Koncepcje

Właściwości zaimplementowane automatycznie (Visual Basic)

Inne zasoby

Obiekty i klasy w Visual Basic