字段初始值设定项不能引用非静态字段

我上课了:

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

您不能使用对字段的引用来初始化方法之外的同一个类中的字段,可能是因为无法保证引用变量的初始化顺序。