作者svanavs (svanavs)
看板C_Sharp
标题Re: [问题]public int 变数 {get{}set{}} 的意思?
时间Sun Jun 28 23:55:52 2009
※ 引述《svanavs (svanavs)》之铭言:
: 我想借题请问~
: property的写法跟我在类别里
: 写两个方法 :
: public int getHour(){
: return hour;
: }
: public void setHour(int hr){
: hour = (hr>=0&&hr<24?hr:0);
: }
: 这种写法看的人应该比较清楚吧 ?
: Time t = new Time();
: t.setHour(24);
: Console.WriteLine(t.getHour());
: 这样效果是一样的但是为什麽要有property这种方式存在呢 ?
: 难道有什麽特殊效果是property特有的吗 ?
以下转自 :
http://www.programmer-club.com.tw/showSameTitleN/csharp/6829.html
跟Get/Set方法比较,Property的好处是可以享用 Data Binding支援,例如:
textBoxName.DataBindings.Add("Text", person, "Name");
会把一个 textBoxName 的 "Text" Property,bind 到 person物件的 "Name" Property,
textBoxName.Text <---bind---> person.Name
用 Property 就有这个好处,用 public data member 就没有,
因为它不是个正当的物件导向技巧,所以 .Net 不支援。
用 Get/Set 也没有,因为.Net 不会自动寻找这些方法名称。
总括来说,Property 的好处是:
1) 简化了存取的语法。
2) 可享用函数的好处。
3) 可享用 Data Binding 支援。
=========================================================
所以,原来"Property"写法跟TextBox或是Label物件中的"属性"
是同一种东西啊~ 终於懂了~
原来还有 DataBindings 这种功能~
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.199.28
1F:→ humanfly:Cong~ 不过 Property 本来就是属性的意思啊XD 07/21 00:36