字段初始值设定项不能引用非静态字段
我上课了:
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) }
在case(2)中它允许我在构造函数中传递lblLED1,但是在case(1)中它说:
字段初始值设定项不能引用非静态字段,方法或属性“lblLED1”
有什么问题?
http://msdn.microsoft.com/en-us/library/5724t6za%28VS.80%29.aspx
您不能使用对字段的引用来初始化方法之外的同一个类中的字段,可能是因为无法保证引用变量的初始化顺序。