Blog Content

    티스토리 뷰

    53.C# - 무명메서드(익명메서드 : Anonymous Method )

    반응형
    무명(익명 : 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("내일");
            }
        }
    }

    결과화면


    53.Anonymous_Method.zip
    다운로드

    반응형

    Comments