问题描述
代码如下:publicpartialclass_Default:System.Web.UI.Page{publicstaticLabel[]list={Label1,Label2};//这句出现错误。(为什么?)protectedvoidPage_Load(objectsender,EventArgse){Label[]list2={Label1,Label2};}}
错误为:错误1字段初始值设定项无法引用非静态字段、方法或属性“_Default.Label1”D:MyDocumentsVisualStudio2008WebSitesWebSite1Default.aspx.cs1635D:...WebSite1为什么不能定义静态变量出错?应该怎么定义一个全局的label数组?
解决方案
解决方案二:
publicstaticLabel[]list=newlabel[]{Label1,Label2};
解决方案三:
publicstaticLabel[]list=newLabel[]{newLabel(),newLabel()};
解决方案四:
因为在那个时候,Label1和Label2还没有被初始化,也就是说Label1和Label2还没存在呢。。。
解决方案五:
引用3楼xrascal的回复:
因为在那个时候,Label1和Label2还没有被初始化,也就是说Label1和Label2还没存在呢。。。
解决方案六:
引用1楼li_qiang_sc的回复:
publicstaticLabel[]list=newlabel[]{Label1,Label2};
protectedvoidPage_Load(objectsender,EventArgse){Label[]list2={Label1,Label2};}
为什么这句没有错误呢?加载为题?
解决方案七:
引用3楼xrascal的回复:
因为在那个时候,Label1和Label2还没有被初始化,也就是说Label1和Label2还没存在呢。。。
在Page_Load里,Label1和Label2已经被初始化完毕,这两个对象也已经存在了。。。
解决方案八:
Label1,Label2是静态的么?
解决方案九:
静态成员只能使用同样是静态的成员。就是这样。。。。。。。。