Modificateur partiel manquant sur la déclaration .. une autre déclaration partielle de ce type existe. "Je suis un débutant et juste en suivant le livre
Je suis un débutant et je suis en train de faire un exercice à la suite d'un livre. Ci-dessous mon code et j'ai eu cette
"Missing partial modifier on declaration of type 'Windowsform.Form1'; another partial declaration of this type exists"
.
Que dois-je faire? Mon code est comme suit:
using System;
using System.Windows.Forms;
namespace Windowsform
{
public class Form1 : Form
{
private TextBox txtEnter;
private Label lblDisplay;
private Button btnOk;
public Form1()
{
this.txtEnter = new TextBox();
this.lblDisplay = new Label();
this.btnOk = new Button();
this.Text = "My Hellowin app!";
//txtEnter
this.txtEnter.Location = new System.Drawing.Point(16, 32);
this.txtEnter.Size = new System.Drawing.Size(264, 20);
//lblDisplay
this.lblDisplay.Location = new System.Drawing.Point(16, 72);
this.lblDisplay.Size = new System.Drawing.Size(264, 128);
//btnOK
this.btnOk.Location = new System.Drawing.Point(88, 224);
this.btnOk.Text = "OK";
this.btnOk.Click +=
new System.EventHandler(this.btnOK_Click);
//MyForm
this.Controls.AddRange(new Control[] {
this.txtEnter, this.lblDisplay, this.btnOk});
}
static void Main()
{
Application.Run(new Form1());
}
private void btnOK_Click(object sender, System.EventArgs e)
{
lblDisplay.Text = txtEnter.Text + "\n" + lblDisplay.Text;
}
}
}
source d'informationauteur user1742237
Vous devez vous connecter pour publier un commentaire.
Dans un autre endroit, vous avez déclaré une classe du même nom (
Form1
) et là, elle est déclarée avec lepartial
modificateur.Si vous êtes à diviser votre classe en deux fichiers différents (par exemple ce fichier à la disposition de l'INTERFACE utilisateur et l'autre pour la logique) ensuite, il suffit d'ajouter le
partial
modificateur de la déclaration:Lorsque vous créez un nouveau formulaire, il est en fait créé dans deux endroits distincts. un endroit de la classe est déclarée est là toute la plomberie est en train d'être mis en œuvre, et le fichier que vous avez collé ici, d'écrire toutes les fonctionnalités. pour le souci de rendre cela possible, c# dispose d'une classe partielle de la fonctionnalité, si dans certains endroit de l'assemblée une classe est définie avec un modificateur partiel, alors on peut définir plusieurs déclarations de la classe, tant qu'il a cette touche de modification.
plus que dans msdn
Juste au cas où quelqu'un trébuche dans ce comme moi... j'ai été des allers-retours entre Visual Studio 2013 pour le Web et Visual Studio 2015 RC pour jouer avec mon MVC solutions.
Si vous tentez d'ouvrir un MVC4 solution en 2015 RC il fait un peu automagic qui peut provoquer cette erreur de venir la prochaine fois que vous ouvrez la même solution en 2013 pour le Web.
J'ai fini la restauration d'une précédente version SVN, et en utilisant uniquement 2013 pour le Web et mon code en fines tout comme il l'avait été pendant des années. Je sais que ce n'est pas la bonne correction mais c'est ce qui a provoqué cette "pop up" de nulle part dans mon exemple.
Je suis peut-être complètement tort sur ce sujet, mais j'ai été faire cette même erreur (et plus) avec MVC3 et EF4. Après se taper la tête sur le bureau pour un jour ou deux, j'ai finalement décidé de passer à MVC4 et souffrir par le biais de cette courbe d'apprentissage si MVC3 n'était pas de la partie. Le plus drôle, c'est que toutes mes erreurs s'en alla.
Avant la mise à niveau, je dois avoir fait 100 recherches en essayant de trouver mon double déclarations.
Semble MVC4 et EF4 jouer plus agréable ensemble.
TL;DR: causée par des vestiges de classes qui ont été renommés par VS2013, mais que VS2013 n'avait pas bien renommer partout, laissant les instances de l'ancien nom de traîner dans non divulgués lieux.
DÉTAIL: j'ai eu exactement la même erreur dans VS2013, dans mon cas au départ, j'ai ajouté une nouvelle catégorie "Employé" mais alors rendu compte qu'il doit avoir été AddEmployee j'ai donc cliqué avec le bouton droit et a changé le nom et qu'il "apparaît" à changer dans tous les bons endroits.
Un bon moment plus tard, j'ai essayé d'ajouter une classe d'Employés, puis arrivé à l'erreur. Après la visite ici et de ne pas trouver une solution, j'ai cherché 'ensemble de la solution" pour les autres instances de l'Employé et qui s'est avéré un couple ne parvient pas à partir de quand j'avais précédemment renommé Employé à AddEmployee:
Mise à jour de ces deux AddEmployee et l'erreur a disparu et compilé et exécuté comme il se doit..