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

时间:2010-07-15 09:55:31

标签: c#

我有一个班级:

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'

有什么问题?

1 个答案:

答案 0 :(得分:3)

http://msdn.microsoft.com/en-us/library/5724t6za%28VS.80%29.aspx

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