J'ai une classe:Champ initialiseur ne peut pas faire référence à champ non statique
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)
{
// ...
}
}
et je crée une instance de celui-ci dans un haut de gamme:
public LED LED1 = new LED(lblLED1); // (1)
public void update_LED(Label lbl, double i)
{
//LED LED1 = new LED(lblLED1); // (2)
}
dans le cas (2) il me permet de passer lblLED1 à l'intérieur du constructeur, mais dans le cas (1), il dit:
Un initialiseur sur le terrain ne peut pas référencer le champ non statique, méthode ou propriété « lblLED1 »
Quel est le problème?
Ce n'est pas parce que c'est un composant graphique. Le message d'erreur vous donne la raison. Je ne sais pas pourquoi cela n'est pas autorisé, probablement à cause de l'ordre dans lequel les différentes parties de la classe sont initialisées. – Blorgbeard