在代码隐藏的时候,cs文件中类的成员一般都是protected及以上,为什么Page_Load方法可以是private?哪位能详细解释一下。

解决方案 »

  1.   

    protected
    和private的区别...前者可以被继承....
    后者不行.....
      

  2.   

    访问级别是根据需求来的, 如果自在本类中访问当然是设置为private  为佳
      

  3.   

    恩。。你可以去察看下SDK/MSDN里面相关这些关键子来了解
      

  4.   

    晕,我问的是代码隐藏的细节,不是protected,private
    代码隐藏是临时生成继承自cs文件中的类的类,来处理请求,所以在cs文件中声明的时候,类的成员至少要protected。为什么Page_Load是private还可以被访问?当然private是不可能被继承类访问的,所以我问一下这里的细节。
      

  5.   

    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbconwebformscodemodel.htm
      

  6.   

    哦,这个方法不是被调用的,是被事件驱动的。看C#代码,比如有一个叫index.aspx的叶面,codebehind里有:/// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load);}this.Load里的Load是事件,这句话就是说Load事件发生的时候就调用Page_Load方法,后来Page_Load被运行,是事件激活的。
      

  7.   

    呵呵,谢谢楼上两位的提醒。我想起来了,是私有的Page_Load已经被委托给封装了,而委托链Load是公开的。好象是这样,待我回头再研究一下。
      

  8.   

    不需要被外部调用 所以用private