XPO基础----简化的属性语法:
2011-10-21 16:18 OOA 阅读(407) 评论(0) 编辑 收藏 举报首先我们看一个标准的属性语法
private DateTime orderdate;
public DateTime OrderDate
{
get { return orderdate; }
set
{
if (orderdate != value)
{
DateTime OldValue = orderdate;
orderdate = value;
OnChanged("OrderDate",OldValue,orderdate);
}
}
}
具体过程就是:先声明一个私有字段,然后 声明一个相应的属性,然后写get访问器。写set访问器的时候,先判断值是否有改变如果有就改变私有字段的值为value,并且接着调用OnChanged()方法
从XPO的6.3.1版本以后,我们有了现代方法类实现属性声明,即,SetPropertyValue()和GetPropertyValue()方法。
setPropertyValue()方法提供了一种简单的属性访问器的实现方法。这方法有三个参数(属性名,ref 属性对应的字段,value值)。方法在内部,先检查属性值是否有更改,如果有保存原来的值,并赋属性新值,然后属性更改事件被激发。
private DateTime orderdate;
public DateTime OrderDate
{
get { return orderdate; }
set { SetPropertyValue("OrderDate", ref orderdate, value); }
}
GetPropertyValue()方法 允许你省去私有成员的声明。这样呢,在实现Set访问器的时候就需要用SetPropertyValue()方法的另一个重载,这个重载只有两个参数:属性的名称,value值。
public DateTime OrderDate
{
get { return GetPropertyValue<DateTime>("OrderDate"); }
set { SetPropertyValue("OrderDate", value); }
}