字段初始化器不能引用非静态字段。

4

我有一个类:

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
这并不是因为它是GUI组件。错误信息会告诉你原因。我不确定为什么不允许,可能是因为类的各个部分初始化的顺序问题。 - Blorgbeard
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接