반응형
무명(익명 : Anonymous Method) : 대리자에 등록되는 메서드 중 간단한 기능이면서 생략해서 사용하고자 할 때 사용되며 메서드의 역활을 할 수 있도록 하는 것입니다.
Program.cs |
using System; namespace 무명메서드 { //[3]대리자 선언 public class Button { //SayHandler 대리자타입 사용으로 Click 이벤트 생성 public event SayHandler Click; //이벤트 발생 메서드 (이벤트 핸들러 생성) public void OnClick(string msg) { if (Click != null) { Click(msg); } } } public delegate void SayHandler(string mag); public class Program { public static void Say(string msg) { Console.WriteLine(msg); } public static void Main(string[] args) { //[1] 메서드 호출 Program.Say("안녕"); Say("안녕"); //[2]대리자를 통해서 대신 호출 SayHandler sh = new SayHandler(Say); sh += new SayHandler(Program.Say); sh("방가"); //실행 //[3] 이벤트와 이벤트 처리기를 통하여 등록해서 호출 Button btn = new Button(); btn.Click += new SayHandler(Say); btn.Click += Say;//축약형 btn.OnClick("또봐");//실행 //[4]무명메서드 : 간단하게 메시지만 출력하는 기능이라면 함수 X SayHandler hi = delegate(string msg) { Console.WriteLine(msg); }; hi("언제"); hi("언제"); Button button = new Button(); button.Click += delegate(string msg) { Console.WriteLine(msg); }; button.Click += delegate(string msg) { Console.WriteLine(msg); }; button.OnClick("내일"); } } } |
결과화면
반응형
'C#' 카테고리의 다른 글
55.C# - namespace ( 네임스페이스 ) (0) | 2009.08.14 |
---|---|
54.C# - 클래스 복습 (0) | 2009.08.14 |
52.C# - GenericMethod (제네릭 메서드) (0) | 2009.08.13 |
51.C# - Delegate Event (대리자 이벤트) (0) | 2009.08.13 |
50.C# - Delegate 대리자 (델리게이트) (0) | 2009.08.13 |
Comments