Ne peut pas évaluer l'expression, parce que le thread courant est dans un débordement de la pile de l'état.(C#)
Je suis en train d'écrire une application en C# qui ressemble à ceci:
public partial class MainForm : Form
{
WICForm Frm = new WICForm();
public MainForm(){}
}
Où _MainForm_
et _WICForm_
sont deux formes différentes de la même application. Mais quand je lance l'application j'obtiens l'erreur ci-dessus lors de la création d'une nouvelle instance Frm
de WICForm
. Quelle pourrait être la raison?
- Ce qui ne l'WICForm constructeur de faire?
Vous devez vous connecter pour publier un commentaire.
Sans doute, vous créez une nouvelle instance de
MainForm
dans le constructeur dansWICForm
(ou d'un code appelé à partir de l'intérieur).De cette façon, le
MainForm
etWICForm
classes sont l'appel et la construction de nouvelles instances de chacun des autres de manière récursive, ce qui entraînera une exception de dépassement de pile.Astuce: Mettre un point d'arrêt sur la ligne contenant
new WICForm();
(placez le curseur sur cette ligne et appuyez surF9
). Lorsque vous exécutez le code dans le mode de débogage maintenant, vous pouvez étape dans cette méthode pour voir ce qu'il fait.