2012-10-12 25 views
13

पुस्तक का पालन कर रहा हूं, मैं एक नौसिखिया हूं और मैं एक पुस्तक के बाद अभ्यास कर रहा हूं। नीचे मेरा कोड है और मैं इसघोषणा पर आंशिक संशोधक गुमराह .. इस प्रकार की अन्य आंशिक घोषणा मौजूद है। "मैं एक नौसिखिया हूं और बस

"Missing partial modifier on declaration of type 'Windowsform.Form1'; another partial declaration of this type exists" मिला

मैं क्या करना चाहिए इस प्रकार मेरे कोड है:।? यह है

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; 
     } 
    } 
} 

उत्तर

20

दूसरी जगह आप एक ही नाम (Form1) के साथ एक वर्ग घोषित में और वहाँ दिसम्बर partial संशोधक के साथ झुका हुआ।

आप (उदाहरण के लिए यूआई लेआउट के लिए इस फ़ाइल और तर्क के लिए एक और फाइल) दो अलग अलग फ़ाइलों में अपने वर्ग बंटवारे रहे हैं तो बस घोषणा करने के लिए partial संशोधक जोड़ने:

public partial class Form1 
{ 
} 
+1

@ user1742237 मुझे लगता है कि आप डिफ़ॉल्ट प्रोग्राम वर्ग उत्पन्न Form1 घोषणा लेकिन आम तौर पर एक WinForms आवेदन के लिए टेम्पलेट शामिल करने के लिए बदलने के लिए किया था एक खाली साथ एक उत्पन्न Form1 वर्ग भी शामिल है प्रपत्र। बस इसे हटा दें। –

+1

मुझे वास्तविक सीधी-आगे, कोड उन्मुख उत्तर खोजने के लिए अब तक स्क्रॉल करना पड़ा था? StackOverflow पर? ... – mmcrae

5

जब आप एक बनाने के नया रूप, यह वास्तव में दो अलग-अलग स्थानों में बनाया गया है। वर्ग की घोषणा की जाने वाली एक जगह है जहां सभी नलसाजी लागू की जा रही हैं, और फ़ाइल जो आपने यहां चिपकाई है, सभी कार्यक्षमताओं को लिखने के लिए। इसे संभव बनाने के लिए, सी # में आंशिक वर्ग सुविधा है, यदि असेंबली के किसी स्थान पर एक वर्ग को आंशिक संशोधक के साथ परिभाषित किया गया है, तो कोई भी कक्षा के कई घोषणाओं को परिभाषित कर सकता है, जब तक कि यह संशोधक हो।

more on that in msdn

0

मैं इस बारे में पूरी तरह से गलत हो सकता है, लेकिन मैं MVC3 और EF4 के साथ इस एक ही त्रुटि (और अधिक) हो रही थी। एक दिन या उससे भी ज्यादा समय तक डेस्क पर अपने सिर को टक्कर देने के बाद, मैंने अंत में एमवीसी 4 में अपग्रेड करने का फैसला किया और एमवीसी 3 सहयोग करने वाला नहीं होने पर बस उस सीखने की वक्र के माध्यम से पीड़ित हो गया। मजाकिया बात यह है कि मेरी सभी त्रुटियां चली गईं।

अपग्रेड करने से पहले, मैंने अपनी डुप्लिकेट घोषणाओं को खोजने की कोशिश कर रहे 100 खोज किए होंगे।

लगता है कि एमवीसी 4 और ईएफ 4 एक साथ और अधिक अच्छा खेलते हैं।

1

बस अगर कोई मेरे जैसा इस तरह से ठोकर खा रहा है ... मैं अपने एमवीसी समाधानों के साथ खेलने के लिए वेब और विजुअल स्टूडियो 2015 आरसी के लिए विजुअल स्टूडियो 2013 के बीच आगे और पीछे स्विच कर रहा हूं।

यदि आप 2015 आरसी में एमवीसी 4 समाधान खोलने का प्रयास करते हैं तो यह कुछ ऑटोमैजिकिक होता है जो अगली बार जब आप वेब के लिए उसी समाधान को खोलते हैं तो यह त्रुटि आ सकती है।

मैं पिछले एसवीएन संशोधन में वापस रोलिंग समाप्त कर चुका हूं और केवल वेब के लिए 2013 का उपयोग कर रहा हूं और मेरे कोड को ठीक तरह से बनाया गया है जैसे कि यह वर्षों से था। मुझे पता है कि यह उचित फिक्स नहीं है, लेकिन इस वजह से यह मेरे उदाहरण में कहीं से भी 'पॉप अप' नहीं हुआ।

0

टीएल; डीआर: कक्षाओं के निवासी के कारण वीएस2013 द्वारा नामित किया गया था, लेकिन वीएस2013 ने हर जगह सही ढंग से नाम नहीं बदला, पुराने नामों के उदाहरण अनजान स्थानों में लटकते हुए छोड़ दिया।

विवरण: मेरे पास वीएस2013 में बिल्कुल वही त्रुटि थी, मेरे मामले में मैंने शुरुआत में एक नया वर्ग "कर्मचारी" जोड़ा लेकिन फिर एहसास हुआ कि यह AddEmployee होना चाहिए था इसलिए मैंने राइट-क्लिक किया और नाम बदल दिया और यह 'दिखाई दिया' इसे सभी सही जगहों में बदलें।
थोड़ी देर बाद मैंने एक कर्मचारी वर्ग जोड़ने की कोशिश की और फिर त्रुटि मिली।यहाँ और नहीं होने पर किसी को ठीक खोजने के बाद, मैं कर्मचारी के अन्य उदाहरण के लिए 'समग्र समाधान' की खोज और कहा कि जब मैं पहले AddEmployee को कर्मचारी का नाम बदला था से विफल रहता है के एक जोड़े कर दिया:

AddEmployee.aspx.cs: public partial class Employee : System.Web.UI.Page 
AddEmployee.aspx.designer.cs: public partial class Employee { 

अपडेट किया गया उन दो AddEmployee को और त्रुटि दूर चला गया और संकलित और एकदम सही ढंग से भाग गया ..