2017-12-31 192 views
-2

그림에서 이러한 메서드는 무엇이며 어떻게 만들 수 있습니까?Annotation에서 One과 같은 매개 변수 또는 속성을 허용하는 메서드를 만드는 방법 정규식

인터넷을 많이 검색했지만 찾지 못했습니다. 속성 메소드 나 프로퍼티 메소드와 같은 많은 것을 시도해 보았습니다.

실제로이 문제를 해결할 수있는 방법은 입력 매개 변수를 선택하고 싶습니다.

My Questions Image 이 내 코드를 넣고 (패널 다른 사람을 제외하고는 열거 타입입니다)입니다 :

public static void Reset(System.Windows.Forms.Panel panel, formulaType formulaType, ShalvarType shalvarType = 0 
      , DamanType damanType = 0, YaqeType yaqeType = 0, BalataneType balataneType = 0, AstinType astinType = 0) 
     { 


      object[,] collcetion = null; 
      switch (formulaType) 
      { 
       case formulaType.Shalvar: 
        collcetion = shalvarFurmula(shalvarType); 
        break; 
       case formulaType.Daman: 
        collcetion = damanFurmula(damanType); 
        break; 
       case formulaType.Yaqe: 
        collcetion = yaqeFurmula(yaqeType); 
        break; 
       case formulaType.Balatane: 
        collcetion = balataneFurmula(balataneType); 
        break; 
       case formulaType.Astin: 
        collcetion = astinFurmula(astinType); 
        break; 

      } 

      //System.Windows.Forms.TextBox 

      for (int i = 0; i < collcetion.Length; i++) 
      { 
       if (panel.Controls[collcetion[i, 0].ToString()].GetType().ToString() == "System.Windows.Forms.TextBox") 
       { 
        panel.Controls[collcetion[i, 0].ToString()].Text = collcetion[i, 1].ToString(); 
       } 
       else 
       { 
        System.Windows.Forms.NumericUpDown num = panel.Controls[collcetion[i, 0].ToString()] as System.Windows.Forms.NumericUpDown; 
        num.Value = Convert.ToDecimal(collcetion[i, 1]); 
       } 
      } 

     } 
나는 패널과 공식 유형을 갖고 싶어

하지만처럼 끝까지 세 번째에서

. 사실 나는 열거 형을 그림과 같은 방식으로 제공합니다.

코드는 아직 완료되지 않았습니다.

public class MyAttribute : Attribute 
{ 
    public string SomeData { get; set; } 
} 

당신이 원하는 것은 선택적 매개 변수를 사용하는 것입니다

Thankx 이미지가 Attribute의 선택 속성입니다을 말한다 무엇

+0

그냥 당신의 속성의 표준 등록하게합니다. –

+0

나는 그것을 얻지 않았다. 내가 더 명확하게 qestion을 편집하자. – Heydar

+0

글쎄, 나는 그것이 무엇인지조차도 모른다고 말했다. 그래서 내가 너를 위해 어떤 것을 writh 원한다. ??? 처음에는 당신과 같은 전문가가 유형을 이해하고 들여 쓴 다음 전체 질문을 보여줘야합니다. 하지만 나는 코드를 작성해야한다는 것을 인정한다. – Heydar

답변

1

는 그들과 같이 정의된다. 이 같은이를 :

public void DoSomething(string data = "", int age = 0) // data will be empty if no value is given 
{ 
} 

그리고 당신은 모두이 방법을 호출 할 수 있습니다 :

DoSomething(); 
DoSomething("some data"); 
DoSomething(age: 10); 
+0

선택적 매개 변수를 알고 있습니다. 하지만 선택적 매개 변수의 나쁜 점은 순서대로 주어져야한다는 것입니다. 예를 들어 내 코드를 참조하고 메서드에 AstinType을 지정하고 AstinType이 결국 필요합니다. 다른 4 개의 매개 변수 null 또는 0을 제공해야합니다 ... 또는 그 다음에 AstinType을 지정합니다. 그러나 Qeue가 아닌 두 번째 입력 후에이 값을 직접주고 싶습니다. 그림 사용 방법은 다음과 같은 순서의 관심사가 아닙니다. 입력 및 ... – Heydar

+0

@Heydar 그건 사실이 아니야, 내 업데이 트를 봐. 'parameterName : value'를 사용하여 순서를 지정합니다 –