更新:2007 年 11 月
在 C# 中,屬性是類別、結構 (Struct) 或介面的具名成員,它提供了很好的方法來存取私用欄位,也就是透過名為 get 和 set 的存取子方法來存取。
下列程式碼範例會為 Animal 類別宣告名為 Species 的屬性,此屬性提供名為 name 之私用變數的摘要存取:
public class Animal
{
private string name;
public string Species
{
get
{
return name;
}
set
{
name = value;
}
}
}
一般而言,屬性名稱會與它所存取的內部成員名稱相同,但是第一個字母是大寫,例如上例中的 Name,或者內部成員名稱會以 _ 當做前置字元。此外,請注意用於 set 存取子中名為 value 的隱含參數,此參數具有基礎成員變數的型別。
存取子事實上在內部是以 get_X() 和 set_X() 方法表示,這是為了維護與不支援存取子之 .NET Framework 架構程式語言的相容性。屬性一旦定義後,就可以很容易取得或設定其值:
class TestAnimal
{
static void Main()
{
Animal animal = new Animal();
animal.Species = "Lion"; // set accessor
System.Console.WriteLine(animal.Species); // get accessor
}
}
只有 get 存取子的屬性是唯讀屬性。只有 set 存取子的屬性是唯寫屬性。如果屬性同時具有此二者,則是讀寫屬性。