下面列举了具体实现复杂属性Employee的Employee.cs文件源代码。
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Web.UI;
namespace WebControlLibrary{
public class Employee {
private string _name;
private string _sex;
private string _title; //实现构造函数1
public Employee() { } //实现构造函数2
public Employee(String Name, String Sex, String Title) {
_name = Name; _sex = Sex; _title = Title;
} //实现属性Name
[ Bindable(true), Category("Appearance"), DefaultValue(""), Description("员工姓名"), NotifyParentProperty(true) ]
public String Name {
get { return _name; }
set { _name = value; }
} //实现属性Sex
[ Bindable(true), Category("Appearance"), DefaultValue(""), Description("员工性别"), NotifyParentProperty(true) ]
public String Sex {
get { return _sex; }
set { _sex = value; }
} //实现属性Title
[ Bindable(true), Category("Appearance"), DefaultValue(""), Description("员工职务"), NotifyParentProperty(true) ]
public String Title {
get { return _title; }
set { _title = value; }
}
}
}
以上代码实现了Employee类,其中包括构造函数和属性Name、Sex和Title。读者需要注意,为了实现连字符形式复杂属性,以上3个属性都必须设置元数据属性NotifyParentProperty(true)。这样,当子属性发生修改时,.net框架将自动产生修改通知,并且通知到父属性Employee。
3. 小结
本文通过一个典型示例介绍了创建连字符形式复杂属性的实现方法。对于其他形式的复杂属性,例如,内部嵌套形式复杂属性、内部嵌套形式默认复杂属性等,本文将不再做更多解释。实际上,实现复杂属性是有其自身规律可循的。只要读者能够按照规定的方法实现,基本上都不会出现太大的问题。
做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。