当前位置:编程学习 > C#/ASP.NET >>

定义静态变量小问题

代码如下:

public partial class _Default : System.Web.UI.Page 
{
    public static Label[] list = {Label1,Label2 };  //这句出现错误。(为什么?)
    protected void Page_Load(object sender, EventArgs e)
    {
        Label[] list2 = { Label1, Label2 };      
      
    }
}




错误为:
错误 1 字段初始值设定项无法引用非静态字段、方法或属性“_Default.Label1” D:\My Documents\Visual Studio 2008\WebSites\WebSite1\Default.aspx.cs 16 35 D:\...\WebSite1\

为什么不能定义静态变量出错?应该怎么定义一个全局的label数组?

--------------------编程问答-------------------- public static Label[] list =new label[] {Label1,Label2 };   --------------------编程问答--------------------         public static Label[] list = new Label[] { new Label(), new Label() }; 
--------------------编程问答-------------------- 因为在那个时候,Label1和Label2还没有被初始化,也就是说Label1和Label2还没存在呢。。。 --------------------编程问答--------------------
引用 3 楼 xrascal 的回复:
因为在那个时候,Label1和Label2还没有被初始化,也就是说Label1和Label2还没存在呢。。。


--------------------编程问答--------------------
引用 1 楼 li_qiang_sc 的回复:
public static Label[] list =new label[] {Label1,Label2 };


  protected void Page_Load(object sender, EventArgs e)
    {
        Label[] list2 = { Label1, Label2 };          
    }


为什么这句没有错误呢?加载为题?
--------------------编程问答--------------------
引用 3 楼 xrascal 的回复:
因为在那个时候,Label1和Label2还没有被初始化,也就是说Label1和Label2还没存在呢。。。

在Page_Load里,Label1和Label2已经被初始化完毕,这两个对象也已经存在了。。。 --------------------编程问答-------------------- Label1,Label2是静态的么? --------------------编程问答-------------------- 静态成员只能使用同样是静态的成员。
就是这样。。。。。。。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,