Přehled vlastností
Součást by definovat vlastnosti místo Veřejná pole, protože vizuální návrháře, například Visual Studio zobrazit vlastnosti, ale nikoli pole v prohlížeči vlastností.(Definujte vlastnosti jiné závažné důvody jsou uvedeny na konci tohoto tématu.)
Vlastnosti jsou jako inteligentní pole.Vlastnost obecně má takový přístupový objekt funkce člena soukromých dat a je přístupná syntakticky jako pole třídy.(Přestože vlastnosti mohou mít různé úrovně přístupu, diskuse zde zaměřuje na obvyklejší případ veřejného přístupu.) Protože vlastnosti byly k dispozici v několika verzích jazyka Visual Basic, programátoři jazyka Visual Basic může chtít přeskočit toto téma.
Definice vlastností se obecně skládá z následujících dvou částí:
Definice členu soukromá data.
private int number = 0;
Private number As Integer = 0
Definice veřejné vlastnosti pomocí syntaxe deklarace vlastnosti.Tuto syntaxi přidruží členské soukromých dat prostřednictvím veřejné vlastnosti získat a set funkce mechanismu přístupu.
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
Termín hodnotu je klíčové slovo v syntaxi pro definice vlastností.Proměnná hodnotu je přiřazen vlastnosti volající kód.Typ hodnotu musí být stejné jako deklarovaný typ vlastnosti, které je přiřazena.
Zatímco definice vlastnosti obvykle zahrnuje člena soukromých dat, není nutné.Získat přístupový objekt může vrátit hodnotu bez přístupu k soukromé datový člen.Jedním příkladem je vlastnost jehož získat metoda vrátí systémový čas.Vlastnosti Povolit skrytí dat, provádění vlastnost skrýt přístupové metody.
Existují určité rozdíly v syntaxi vlastností mezi různých programovacích jazycích.Například pojem vlastnost není klíčové slovo v jazyce C#, ale je klíčové slovo v jazyce Visual Basic.Informace specifické pro jazyk naleznete v dokumentaci pro daný jazyk
Následující příklad definuje vlastnost pojmenovanou MyNumber ve třídě SimpleProperty a přistupuje k MyNumber z třídy 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
Získat a set metody jsou obecně nijak neliší od jiných metod.Můžete provádět libovolné program logiku, vyvolávají výjimky, přepsat a deklarovat s všechny modifikátory povolených programovací jazyk.Upozorňujeme však, že vlastnosti lze také statické.Pokud je vlastnost statické, jsou omezení co získat a nastavit metody lze provést.Viz programming language reference podrobnosti.
Typ vlastnosti může být primitivní typ, kolekce primitivní typy, uživatelem definovaný typ nebo uživatelem definované typy kolekce.Pro primitivní typy rozhraní.NET Framework obsahuje typ převaděče, které provádět převody hodnotu řetězce.Podrobnosti naleznete v tématu Generalized převod typu.Když je k dispozici pro vlastnost typ převaděč, lze zobrazit v prohlížeči vlastností v návrháři.Definovat vlastní vlastnosti a chcete vlastnost prohlížeče zobrazit, je nutné implementovat vlastní typ převaděče.
Pokud je datový typ vlastnosti výčtu, vývojové prostředí, jako je Microsoft Visual Studio zobrazí vlastnost jako rozevíracího seznamu v okně Vlastnosti.Pokud je datový typ vlastnosti třídy, který má vlastnosti, tyto vlastnosti se nazývají podvlastnosti definice vlastností.V okně Vlastnosti v aplikaci Visual Studio uživatele rozšířit vlastnosti zobrazení jejích podvlastností.
Je důležité přidat atributy vlastnosti, takže jsou zobrazeny správně v prohlížeči vlastností v době návrhu.Podrobnosti naleznete v tématu Návrhu atributy součástí.
Z komponenty, by měl zobrazit vlastnosti místo Veřejná pole, protože mohou být všechny vlastnosti umožňují skrytí dat a přístupové metody můžete provést další logiku.Z důvodu optimalizace-in-time, jsou obecně, ne dražší než pole vlastnosti.