程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C#中get和set訪問器的解釋

C#中get和set訪問器的解釋

編輯:.NET實例教程

屬性的訪問器包含與獲取(讀取或計算)或設置(寫)屬性有關的可執行語句。訪問器聲明可以包含 get 訪問器或 set 訪問器,或者兩者均包含。聲明采用下列形式之一:

get {}

set {}

get 訪問器
get 訪問器體與方法體相似。它必須返回屬性類型的值。執行 get 訪問器相當於讀取字段的值。以下是返回私有字段 name 的值的 get 訪問器:

private string name;   // the name fIEld
public string Name   // the Name property
{
get
{
    return name;
}
}
當引用屬性時,除非該屬性為賦值目標,否則將調用 get 訪問器讀取該屬性的值。例如:

Employee e1 = new Employee();
...
Console.Write(e1.Name);   // The get Accessor is invoked here
get 訪問器必須在 return 或 throw 語句中終止,並且控制不能超出訪問器體。

set 訪問器
set 訪問器與返回 void 的方法類似。它使用稱為 value 的隱式參數,此參數的類型是屬性的類型。在下例中,set 訪問器被添加到 Name 屬性:

public string Name
{
get
{
    return name;
}
set
{
    name = value;
}
}
當對屬性賦值時,用提供新值的參數調用 set 訪問器。例如:

e1.Name = "Joe";   // The set Accessor is invoked here
在 set 訪問器中對局部變量聲明使用隱式參數名 (value) 是錯誤的。

備注
屬性按如下方式,根據所使用的訪問器進行分類:

只帶有 get 訪問器的屬性稱為只讀屬性。無法對只讀屬性賦值。
只帶有 set 訪問器的屬性稱為只寫屬性。只寫屬性除作為賦值的目標外,無法對其進行引用。
同時帶有 get 和 set 訪問器的屬性為讀寫屬性。
在屬性聲明中,get 和 set 訪問器都必須在屬性體的內部聲明。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved