定义静态变量小问题
代码如下:
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还没存在呢。。。 --------------------编程问答--------------------
--------------------编程问答--------------------
protected void Page_Load(object sender, EventArgs e)
{
Label[] list2 = { Label1, Label2 };
}
为什么这句没有错误呢?加载为题?
--------------------编程问答--------------------
在Page_Load里,Label1和Label2已经被初始化完毕,这两个对象也已经存在了。。。 --------------------编程问答-------------------- Label1,Label2是静态的么? --------------------编程问答-------------------- 静态成员只能使用同样是静态的成员。
就是这样。。。。。。。。
补充:.NET技术 , ASP.NET