C#/C# 코딩의 기술

[C# 이벤트 매개변수 전달] 무명메소드를 사용해서 전달하는 법

RodeJ.H 2019. 7. 12. 18:43
 
1
2
3
4
5
6
7
8
9
10
11
12
public class ClassA 
    public void InitControl() 
    { 
        btnClose.Click += btn_Click; 
    } 
 
    void btn_Click(object sender, EventArgs e) 
    { 
        //some code.. 
    } 
}
 
 

 - 위와 같은 이벤트를 사용중에 btn_click() 에서 매개변수를 전달받아서 처리해야되는 경우가 생길때

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class ClassA
{
    public void InitControl()
    {
        string name = "Forge JH";
        btnClose.Click += (sender, e) => { btn_Click(name); };
    }
    
    void btn_Click(string name)
    {
        //Console.WriteLine(name);
        //some code..
    }
}
 

 - 무명메소드를 사용해서 매개변수를 전달할 수 있다.