[英]What do you need a read-only property with a constructor that let's you set the values in that property for?
具有構造器的只讀屬性如何使您可以設置值:
public class Customer
{
private int m_id = -1;
public Customer(int id)
{
m_id = id;
}
public int ID
{
get
{
return m_id;
}
}
}
與正常的get,set屬性不同,如下所示?
public class Customer
{
private int m_id = -1;
public int ID
{
get
{
return m_id;
}
set
{
m_id = value;
}
}
read-only property
不允許程序中的其他類設置property
值。 傳統property
確實如此。
在這種情況下, class
將迫使程序員在構造函數中提供一個int
ID
。 擁有public property
幾乎可以抵消這一要求,因為程序員可以隨時更改ID
的值。
可以使用readonly關鍵字聲明在對象構造函數中設置的成員變量。 這允許變量充當常量(例如,嘗試對其進行更改將生成編譯時錯誤),但仍允許您為每個對象實例將其設置為不同的值。 這是一點語法上的糖,可以幫助防止您的編碼人員意外修改不希望修改的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.