大家都知道,partial局部类是.net 2.0的新产物,允许将类的实现进行拆分 分别存放于不同cs文件中。使用partial局部类时必须使用"partial"显式声明。
原本以为不使用partial局部类时可以完全不用"partial"关键词了,但是,每当新建一个web窗体文件时,vs 2005都会自动在cs后台代码文件中使用以下方法声明窗体类:
public partial class ITGao_Com: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
有点费解,于是将上述代码中的partial关键字删除,想看看这个partial是不是vs2005为了适应局部类而进行的通用性设置。结果一调试,系统提示:
那是不是程序在项目的其他地方构造了partial class ITGao_Com的“另一半”呢?搜遍了整个项目都没有发现第二个ITGao_Com类,除了与ITGao_Com对应的前台aspx文件。看来我错了。
经过一番思考,突然醒悟。asp.net 本身也允许将程序直接写在aspx页面中,这不正是我要找的partial class ITGao_Com的“另一半”吗?哈哈。这样看来,asp.net 1.x版本中早就有partial局部类的雏形了。
asp.net 1.x版本里前台页面和后台cs文件中可以同时编写程序,所以本人认为,asp.net 1.x版本已经使用了partial机制了,只不过仅仅限于aspx页面和对应cs之间的partial,而2.0将其扩展到所有类。