BK

我是BK,不断成长,不愿辜负任何对我保有期盼的人...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

对Asp.net 2.0 后台cs代码文件中默认类partial字段的思考

Posted on 2007-05-02 23:44  blue1000  阅读(5415)  评论(13编辑  收藏  举报

大家都知道,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为了适应局部类而进行的通用性设置。结果一调试,系统提示:

错误 1 类型“ITGao_Com”的声明上缺少 partial 修饰符;存在此类型的其他分部声明 D:\net2.0学习\泛型等新特性学习\Web\CSharp20\ITGao_Com.aspx.cs 12 14 D:\...\Web\

那是不是程序在项目的其他地方构造了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将其扩展到所有类。