Przegląd właściwości
Składnik należy zdefiniować właściwości zamiast pola publiczne, ponieważ wizualnych projektantów jak Visual Studio wyświetlić właściwości, ale nie pól w przeglądarce właściwości.(Inne przekonujące powody, aby zdefiniować właściwości są wymienione na końcu tego tematu).
Właściwości są podobne do pola inteligentne.Właściwość zwykle towarzyszy Akcesory członek danych prywatnych i jest syntaktycznie dostępne jako pole klasy.(Chociaż właściwości mogą mieć różne poziomy dostępu, dyskusji w tym miejscu poświęcony częściej występującym przypadku publicznego dostępu.) Właściwości były dostępne w kilku wersjach języka Visual Basic, dlatego programiści Visual Basic może chcesz pominąć ten temat.
Definicja właściwości składa się zasadniczo z następujących dwóch części:
Definicja elementu danych prywatnych.
private int number = 0;
Private number As Integer = 0
Definicja właściwości publicznej przy użyciu składni deklaracji właściwości.Ta składnia kojarzy członka prywatnych danych z własności publicznej poprzez uzyskać i set Akcesory.
public int MyNumber { // Retrieves the number data member. get { return number; } // Assigns to the number data member. set { number = value; } }
Public Property MyNumber As Integer ' Retrieves number. Get Return number End Get ' Assigns to number. Set number = value End Set End Property
Termin wartość jest słowo kluczowe składni dla definicji właściwości.Zmienna wartość jest przypisywana do właściwości w kod wywołujący.Typ wartość musi być taka sama jak deklarowanego typu właściwości, do którego jest przypisana.
Podczas gdy definicji właściwości zawierają na ogół Członkowskie dane prywatne, nie jest to wymagane.Uzyskać akcesor może zwracać wartość bez uzyskiwania dostępu do członka danych prywatnych.Przykładem jest właściwością którego uzyskać metoda zwraca czas systemowy.Właściwości włączyć ukrywanie danych, metod typu accessor ukryć wykonania właściwości.
Istnieją pewne różnice w składni wśród różnych języków programowania.Na przykład właściwość termin nie jest słowo kluczowe w C#, ale jest słowo kluczowe języka Visual Basic.Informacje specyficzne dla języka można znaleźć w dokumentacji dla tego języka
W poniższym przykładzie zdefiniowano właściwość o nazwie MyNumber w klasie SimpleProperty i uzyskuje dostęp do MyNumber z klasy UsesSimpleProperty.
public class SimpleProperty
{
private int number = 0;
public int MyNumber
{
// Retrieves the data member number.
get
{
return number;
}
// Assigns to the data member number.
set
{
number = value;
}
}
// Other members.
}
public class UsesSimpleProperty
{
public static void Main()
{
SimpleProperty example = new SimpleProperty();
// Sets the property.
example.MyNumber = 5;
// Gets the property.
int anumber = example.MyNumber;
}
}
Public Class SimpleProperty
Private number As Integer = 0
Public Property MyNumber As Integer
' Retrieves number.
Get
Return number
End Get
' Assigns to number.
Set
number = value
End Set
End Property
' Other members...
End Class
Public Class UsesSimpleProperty
Public Shared Sub Main()
Dim example As New SimpleProperty()
' Sets the property.
example.MyNumber = 5
' Gets the property.
Dim anumber As Integer = example.MyNumber
End Sub
End Class
Uzyskać i set metody są generalnie nie różni się od innych metod.Można wykonać każde program logiki, generują wyjątki, zostać zastąpione i być zadeklarowana z wszelkich modyfikatorów dozwolone przez język programowania.Należy jednak zauważyć, że właściwości również mogą być statyczne.Jeśli właściwość jest statyczny, istnieją ograniczenia co uzyskać i set można wykonać metody.Zobacz programowania Skorowidz języka w taki sposób, aby uzyskać szczegółowe informacje.
Typ właściwości może być typ pierwotny, Kolekcja typów pierwotnych, typ zdefiniowany przez użytkownika lub kolekcją typów zdefiniowanych przez użytkownika.Dla wszystkich typów pierwotnych.NET Framework zapewnia konwertery typu wdrożenia konwersje wartość ciągu.Aby uzyskać szczegółowe informacje, zobacz Generalized konwersji typu.Typ konwertera jest dostępna dla właściwości, mogą być wyświetlane w przeglądarce właściwości projektanta.Jeśli zdefiniować właściwości niestandardowe i ma przeglądarkę właściwości, aby je wyświetlić, należy zaimplementować konwertery niestandardowe typu.
Jeśli typ danych właściwości jest wyliczenie, środowiska programowania, takich jak Microsoft Visual Studio będą wyświetlane właściwości jako listy rozwijanej w oknie dialogowym właściwości.Jeśli typ danych właściwości jest klasa, która ma właściwości, te właściwości są nazywane właściwości podrzędne, definiowanie właściwości.W oknie właściwości w Visual Studio użytkownika można rozwinąć właściwość, aby wyświetlić jego właściwości podrzędne.
Jest ważne dodać atrybuty do właściwości, dzięki czemu są one wyświetlane odpowiednio w przeglądarce właściwości w czasie projektowania.Aby uzyskać szczegółowe informacje, zobacz Atrybuty projektowania składników.
Zamiast pola publiczne powinny ujawnić z składniki, ponieważ właściwości może być numerów wersji, umożliwiają ukrycie danych i metod typu accessor można wykonać dodatkowe logiki.Ogólnie z powodu optymalizacje w czasie nie droższe niż pola są właściwości.