2013-12-17 2 views
-1

C#을 새로운 그리고 난 방법 작업을 할 수 있습니다,하지만 난 내 수업 '관리자'에서 호출하려고하지 않을 때, 그것의 단지 작은 생각 나는 형태로 클래스 내 메소드를 호출하지 못할

프로그래밍 임 문제가 있지만, 메신저 단지 붙어 ... 다시 .. 방법 "opretspejder"에 대한 과부하지지 않습니다 0 인수

도움 도움말 나는 내 수업 여기

public class Admin 
    { 
     public static void OpretSpejder(string Snavn_txt, string Senavn_txt, string Sa_txt, string Scpr_txt) 
     { 
      { 
       if (!(string.IsNullOrEmpty(Snavn_txt))) 
        if (!(string.IsNullOrEmpty(Senavn_txt))) 
         if (!(string.IsNullOrEmpty(Sa_txt))) 
          if (!(string.IsNullOrEmpty(Scpr_txt))) 
          { 
           XmlDocument doc = new XmlDocument(); 
           doc.Load(@"Spejder.xml"); 

           var nodeCount = 0; 
           using (var reader = XmlReader.Create(@"Spejder.xml")) 
           { 
            while (reader.Read()) 
            { 
             if (reader.NodeType == XmlNodeType.Element && 
              reader.Name == "Spejder") 
             { 
              nodeCount++; 
             } 
            } 
           } 

           nodeCount++; 

           XmlElement Spejder = doc.CreateElement("Spejder"); 
           Spejder.SetAttribute("ID", nodeCount.ToString()); 

           XmlNode Navn = doc.CreateElement("Navn"); 
           Navn.InnerText = Snavn_txt; 
           Spejder.AppendChild(Navn); 

           XmlNode Efternavn = doc.CreateElement("Efternavn"); 
           Efternavn.InnerText = Senavn_txt; 
           Spejder.AppendChild(Efternavn); 

           XmlNode Alder = doc.CreateElement("Alder"); 
           Alder.InnerText = Sa_txt; 
           Spejder.AppendChild(Alder); 

           XmlNode Cpr = doc.CreateElement("Cpr"); 
           Cpr.InnerText = Scpr_txt; 
           Spejder.AppendChild(Cpr); 

           doc.DocumentElement.AppendChild(Spejder); 
           doc.Save(@"Spejder.xml"); 

           Snavn_txt = String.Empty; 
           Senavn_txt = String.Empty; 
           Sa_txt = String.Empty; 
           Scpr_txt = String.Empty; 



           // MessageBox.Show("Spejder Oprettet"); 

          } 


      } 

하고 여기에

기쁠

private void button2_Click(object sender, EventArgs e) 
     { 

      Admin.OpretSpejder(); 

     } 
+1

메서드가 여러 매개 변수를 사용하지만 ** 단일 매개 변수를 전달하지 않습니다 ** ... 이유가 무엇입니까? – Arran

+0

'Admin.OpretSpejder'를 호출 할 때 몇 가지 인수를 전달하십시오 :'Admin.OpretSpejder (String.Empty, String.Empty, String.Empty, String.Empty)'. – RePierre

+1

@RePierre 그러면 그의 메소드는 아무 것도하지 않을 것입니다. 여러 매개 변수가 비어있는 곳을 여러 곳에서 확인합니다. – Arran

답변

1

이 네 개의 매개 변수가 무엇인지 코드의 저자를 요구해야, 호출 시점에서 통과 무엇을 알아야한다 , Scpr_txt) :

public class Admin { 
    public static void OpretSpejder(string Snavn_txt, string Senavn_txt, string Sa_txt, string Scpr_txt) { 

... 

그래서 당신은 당신이해야이 방법 중 하나 이 인수를 제공을 호출 할 경우

public class Admin { 
    // New overloaded version 
    public static void OpretSpejder() { 
    ... 
    } 

    // Old version 
    public static void OpretSpejder(string Snavn_txt, string Senavn_txt, string Sa_txt, string Scpr_txt) { 

... 
+0

답변 1 개가 나를 위해 작동했습니다. .. 감사합니다 !!!! – Max

2

당신의 방법의 선언은

public static void OpretSpejder(string ..., string ...., string ...., string ....) 

라고하지만 당신은 물론

 Admin.OpretSpejder(); 

필요한 4 문자열 중 하나를 통과하지 않고 전화 : 내 방법을 실행하려는 buttonclick 컴파일러가 만족스럽지 않다.

OpretSpejder은 cre 4 개의 요소가있는 XML 파일을 먹었고 4 개의 요소가 필요하지 않으면 코드 블록 전체를 건너 뛰었으므로 4 개의 문자열을 전달하는 것 외에 다른 방법이 없습니다.

OpretSpejder의 저자는 그렇지 않으면 당신은 당신은 4 필수 문자열 인수
(Snavn_txt, Senavn_txt, Sa_txt와 OpretSpejder 방법을 선언 한

0
public partial class Form1 : System.Windows.Forms.Form 
{ 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    Admin classAdmin = new Admin(); 

    private void button2_Click(object sender, EventArgs e) 
    { 
     classAdmin.OpretSpejder("yourstring1","yourstring2","yourstring3","yourstring4"); //Admin.OpretSpejder(); 

    } 

} 
:
private void button2_Click(object sender, EventArgs e) { 
    string Snavn_txt = "..."; // <- Put your real values here 
    string Senavn_txt = "..."; 
    string Sa_txt = "..."; 
    string Scpr_txt = "..."; 

    Admin.OpretSpejder(Snavn_txt, Senavn_txt, Sa_txt, Scpr_txt); 
    } 

나 컴파일러 등

는 인수없이 OpretSpejder과부하 버전을 만들 제안
관련 문제