Opcjonalny. Lista atrybutów, które mają zastosowanie do tej właściwości lub GetSet procedury. Zobacz Lista atrybutów.
Default
Opcjonalny. Określa, że ta właściwość jest właściwością domyślną dla klasy lub struktury, na której jest zdefiniowana. Właściwości domyślne muszą akceptować parametry i można je ustawiać i pobierać bez określania nazwy właściwości. Jeśli zadeklarujesz właściwość jako Default, nie można jej użyć Private we właściwości lub w jednej z jej procedur właściwości.
accessmodifier
Opcjonalnie w instrukcji Property i na co najwyżej jednej z instrukcji Get i Set . Może być jednym z następujących elementów:
Wymagany. Nazwa właściwości. Zobacz Nazwy zadeklarowanych elementów.
parameterlist
Opcjonalny. Lista lokalnych nazw zmiennych reprezentujących parametry tej właściwości oraz możliwe dodatkowe parametry Set procedury. Zobacz Lista parametrów.
returntype
Wymagane, jeśli Option Strict ma wartość On. Typ danych wartości zwracanej przez tę właściwość.
Implements
Opcjonalny. Wskazuje, że ta właściwość implementuje co najmniej jedną właściwość zdefiniowaną w interfejsie zaimplementowanym przez tę właściwość zawierającą klasę lub strukturę. Zobacz Implements, instrukcja.
implementslist
Wymagane w przypadku Implements dostarczenia. Lista implementowanych właściwości.
implementedproperty [ , implementedproperty ... ]
Każda z nich implementedproperty ma następującą składnię i części:
interface.definedname
Element
opis
interface
Wymagane. Nazwa interfejsu zaimplementowanego przez tę właściwość zawierającą klasę lub strukturę.
definedname
Wymagany. Nazwa, za pomocą której właściwość jest zdefiniowana w pliku interface.
Get
Opcjonalny. Wymagane, jeśli właściwość jest oznaczona .ReadOnly Uruchamia procedurę właściwości używaną Get do zwracania wartości właściwości. Instrukcja Get nie jest używana z automatycznie zaimplementowanymi właściwościami.
statements
Opcjonalny. Blok instrukcji do uruchomienia w ramach Get procedury lub Set .
End Get
Przerywa procedurę Get właściwości.
Set
Opcjonalny. Wymagane, jeśli właściwość jest oznaczona .WriteOnly Uruchamia procedurę Set właściwości używaną do przechowywania wartości właściwości. Instrukcja Set nie jest używana z automatycznie zaimplementowanymi właściwościami.
End Set
Przerywa procedurę Set właściwości.
End Property
Przerywa definicję tej właściwości.
Uwagi
Instrukcja Property wprowadza deklarację właściwości. Właściwość może mieć procedurę (tylko do odczytu), procedurę GetSet (tylko zapis) lub obie (odczyt-zapis). Można pominąć procedurę Get i Set podczas korzystania z właściwości implementowanej automatycznie. Aby uzyskać więcej informacji, zobacz Automatycznie zaimplementowane właściwości.
Można używać Property tylko na poziomie klasy. Oznacza to, że kontekst deklaracji dla właściwości musi być klasą, strukturą, modułem lub interfejsem i nie może być plikiem źródłowym, przestrzenią nazw, procedurą lub blokiem. Aby uzyskać więcej informacji, zobacz Konteksty deklaracji i Domyślne poziomy dostępu.
Domyślnie właściwości używają dostępu publicznego. Poziom dostępu właściwości można dostosować za pomocą modyfikatora dostępu w Property instrukcji i opcjonalnie dostosować jedną z procedur właściwości do bardziej restrykcyjnego poziomu dostępu.
Program Visual Basic przekazuje parametr do Set procedury podczas przypisywania właściwości. Jeśli nie podasz parametru dla Setprogramu , zintegrowane środowisko projektowe (IDE) używa niejawnego parametru o nazwie value. Ten parametr zawiera wartość, która ma zostać przypisana do właściwości. Zazwyczaj ta wartość jest przechowywana w prywatnej zmiennej lokalnej i zwracana za każdym razem, gdy Get zostanie wywołana procedura.
Reguły
Mieszane poziomy dostępu. Jeśli definiujesz właściwość odczytu i zapisu, możesz opcjonalnie określić inny poziom dostępu dla Get procedury lub Set , ale nie dla obu tych metod. Jeśli to zrobisz, poziom dostępu do procedury musi być bardziej restrykcyjny niż poziom dostępu właściwości. Jeśli na przykład właściwość jest zadeklarowana Friend, można zadeklarować procedurę SetPrivate, ale nie Public.
Jeśli definiujesz ReadOnly właściwość lub WriteOnly , pojedyncza procedura właściwości (Get lub Set, odpowiednio) reprezentuje całą właściwość. Nie można zadeklarować innego poziomu dostępu dla takiej procedury, ponieważ spowoduje to ustawienie dwóch poziomów dostępu dla właściwości.
Zwracany typ. Instrukcja Property może zadeklarować typ danych zwracanej wartości. Można określić dowolny typ danych lub nazwę wyliczenia, struktury, klasy lub interfejsu.
Jeśli nie określisz returntypeparametru , właściwość zwraca wartość Object.
Implementacja. Jeśli ta właściwość używa słowa kluczowego Implements , zawierająca klasę lub strukturę musi mieć instrukcję Implements bezpośrednio po jej Class instrukcji lub Structure . Instrukcja Implements musi zawierać każdy interfejs określony w pliku implementslist. Jednak nazwa, za pomocą której interfejs definiuje Property element (in definedname) nie musi być taka sama jak nazwa tej właściwości (w pliku name).
Zachowanie
Zwracanie z procedury właściwości.Get Gdy procedura or Set powróci do kodu wywołującego, wykonanie będzie kontynuowane z instrukcją po instrukcji, która ją wywołała.
Instrukcje Exit Property i Return powodują natychmiastowe wyjście z procedury właściwości. Dowolna liczba instrukcji Exit Property i Return może być wyświetlana w dowolnym miejscu procedury i można mieszać Exit Property i Return instrukcje.
Wartość zwracana. Aby zwrócić wartość z Get procedury, możesz przypisać wartość do nazwy właściwości lub dołączyć ją w instrukcji Return . Poniższy przykład przypisuje wartość zwracaną do nazwy quoteForTheDay właściwości, a następnie używa Exit Property instrukcji do zwrócenia.
VB
Private quoteValue AsString = "No quote assigned yet."
Class Class1
' Define a local variable to store the property value.Private propertyValue AsString' Define the property.PublicProperty Prop1() AsStringGet' The Get property procedure is called when the value' of a property is retrieved.Return propertyValue
EndGetSet(ByVal value AsString)
' 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
EndSetEndPropertyEndClass
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.