[C#] Passer argument à un constructeur d'une forme
VS2005
.NET Framework 2.x
Salut,
J'expose mon problème. J'ai deux formes, la principale et une autre, plus une classe. Les 3 classes sont dans le même namespace.
Premiere classe, la forme principale :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public partial class A: Form
{
private A oA;
private B oB;
private C oC;
public A()
{
InitializeComponent();
oA = this;
oC = new C();
oB = null;
}
private void MenuItem_Click(object sender, EventArgs e)
{
oB = new B();
oB = this;
oB.Show();
}
} |
Classe de la Forme B
Code:
1 2 3 4 5 6 7 8
|
public partial class B: Form
{
public B()
{
InitializeComponent();
}
} |
et pour finir la classe C
Code:
1 2 3 4 5 6 7 8 9 10
|
class C
{
private MySqlConnection conn;
public C()
{
conn = null;
}
} |
Jusqu'ici pas de problèmes.
Le problème, l'erreur se produit quand je fais ceci, je passe oC en argument au constructeur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public partial class A: Form
{
private A oA;
private B oB;
private C oC;
public A()
{
InitializeComponent();
oA = this;
oC = new C();
oB = null;
}
private void MenuItem_Click(object sender, EventArgs e)
{
oB = new B(oC);
oB = this;
oB.Show();
}
} |
Dans la classe B j'ai pourtant ajouté ceci :
Classe de la Forme B
Code:
1 2 3 4 5 6 7 8 9 10
|
public partial class B: Form
{
private C oC;
public B(C _oC)
{
InitializeComponent();
oC = _oC;
}
} |
J'ai aussi essayé avec un second constrcuteur mais sans succès. J'ai le message d'erreur suivant :
Error 1 Inconsistent accessibility: parameter type 'MyNameSpac.C' is less accessible than method 'MyNameSâce.B.B(MyNameSpace.C)' C:\Documents and Settings\All Users\Documents\Visual Studio 2005\Projects\MyProjet\MyProject\B.cs 20 16 MyProject
Une idée sur la cause du problème ? C'est une application Winforms, MDI, A étant le forme principale, B une forme enfant et C une classe.
Merci,