Vlastnosti automatické implementována (Příručka programování C#)
C# 3.0 a novější prováděny automatické vlastnosti deklarace vlastnosti stručnější při provést žádné další logika je vyžadováno přístupové objekty vlastnosti.Umožňují také klientský kód pro vytvoření objektů.Vlastnost deklarovat, jak je znázorněno v následujícím příkladu, kompilátor vytvoří pole anonymní, soukromé zálohování, které lze přistupovat pouze prostřednictvím vlastnosti get a set přístupové objekty.
Příklad
Následující příklad ukazuje jednoduché třídy, která má některé vlastnosti prováděna automaticky:
// This class is mutable. Its data can be modified from
// outside the class.
class Customer
{
// Auto-Impl Properties for trivial get and set
public double TotalPurchases { get; set; }
public string Name { get; set; }
public int CustomerID { get; set; }
// Constructor
public Customer(double purchases, string name, int ID)
{
TotalPurchases = purchases;
Name = name;
CustomerID = ID;
}
// Methods
public string GetContactInfo() {return "ContactInfo";}
public string GetTransactionHistory() {return "History";}
// .. Additional methods, events, etc.
}
class Program
{
static void Main()
{
// Intialize a new object.
Customer cust1 = new Customer ( 4987.63, "Northwind",90108 );
//Modify a property
cust1.TotalPurchases += 499.99;
}
}
Třída, které je uvedeno v předchozím příkladu je proměnlivých.Klientský kód můžete změnit hodnoty v objektech po jejich vytvoření.Složité tříd obsahujících významné chování (metody) a také data je často nezbytné, aby veřejné vlastnosti.Však malé třídy nebo struktury, stačí zapouzdřit sadu hodnot (data) a mají malou nebo žádnou chování je doporučeno provést nezměnitelné objekty prohlášením přístupový objekt set jako soukromé.Další informace naleznete v tématu Jak: implementovat lehký třídy implementovány automatické vlastnosti (Příručka programování C#).
Atributy jsou povoleny automaticky implementovány vlastnosti, ale zjevně na polích zálohování od těch, které nejsou přístupné z zdrojový kód.V poli vlastnosti zálohování je nutné použít atribut, pouze vytvořte normální vlastnost.