set語句的使用方法
• set 語句
是通過value 標識符來進行賦值的
可以包含任何語句(甚至沒有語句)
struct Time
{
...
public int Hour
{
...
set {
if (value < 0 || value > 24)
throw new ArgumentException("value");
hour = value;
}
}
private int hour, minute, second;
}
Time lunch = new Time();
...
lunch.Hour = 12;
當寫一個屬性的時候,屬性的set語句自動運行。
在上面的例子中,Time結構類有一個整型屬性Hour,所以賦給這個屬性的值必須是一個整型值。例如:
lunch.Hour = 12;
把一個整型值12賦給了lunch的Hour屬性,這個語句會自動調用屬性的set語句。set語句是通過value標識符來獲得屬性的賦值的。例如,如果12被賦給了Hour屬性,那麼vaue的值就是12。注意的是value不是一個關鍵字。value只是在set語句中才是一個標識符。你可以在set語句外的任何語句聲明value為一變量的名字。例如:
public int Hour
{
get { int value; ... }//正確
set { int value; ... }//錯誤
}
get語句的使用方法
get 語句
必須返回一個有確定類型的值
功能上就像一個 “get 函數”
struct Time
{
...
public int Hour
{
get
{
return hour;
}
...
}
private int hour, minute, second;
}
Time lunch = new Time();
... Console.WriteLine(lunch.Hour);
//請注意,get和set不是關鍵字 www.2cto.com
當讀一個屬性的時候,屬性的get語句自動運行。
get語句必須返回一個有確定類型的值。在上面的例子中,Time結構類有一個整型屬性Hour,所以它的get語句必須返回一個整型值。
屬性的返回值不能是void(從這裡可以推斷出字段的類型也不能是void)。這就意味著get語句必須包含一個完整的return語句(retun;這種形式是錯誤的)。
get語句可以在retun語句前包含任何其他的語句(比如,可以檢查變量的類型),但return語句不能省略。
注意,get和set不是關鍵字,所以你可以在任何地方包括get/set語句中聲明一個局部變量、常量的名字是get或set,但最好不要這樣做。