我有一个班级:
public class LED
{
public System.Windows.Forms.Label lbl;
public LED(System.Windows.Forms.Label lblLED)
{
lbl = lblLED;
}
public void blink(System.Drawing.Color color, int pattern)
{
// ...
}
}
我正在顶级创建它的实例:
public LED LED1 = new LED(lblLED1); // (1)
public void update_LED(Label lbl, double i)
{
//LED LED1 = new LED(lblLED1); // (2)
}
在情况(2)中它允许我在构造函数中传递lblLED1,但在情况(1)中它说:
字段初始值设定项不能引用非静态字段,方法或属性'lblLED1'
有什么问题?
答案 0 :(得分:3)
http://msdn.microsoft.com/en-us/library/5724t6za%28VS.80%29.aspx
您无法使用对字段的引用来初始化方法之外的同一个类中的字段,可能是因为无法保证引用变量的初始化顺序。