728x90

delegate형식
delegate 반환타입 이름 함수전달인자

namespace Delegate
{
    class Program
    {
        delegate void Delegate();

        static void Func1()
        {
            Console.WriteLine("Func1");
        }

        static void Func2()
        {
            Console.WriteLine("Func2");
        }

        static void DeleFunc(Delegate _delegate)
        {
            Console.WriteLine("다른 함수에서 호출");
            _delegate();
        }

        static void Main(string[] args)
        {
            // delegate(대리자)
            // 함수의 객체를 만들어서 인자로 전달한다!

            Delegate _delegate = new Delegate(Func1); // 함수를 delegate객체에 전달.

            // delegate 체이닝

            _delegate += Func2;

            _delegate();// 직접 호출도 가능하고, 다른 함수에 인자로 넘겨주는 것도 가능하다.
            Console.WriteLine();
            DeleFunc(_delegate);
        }
    }
}
 
 

 

 

728x90

'C# > C# 기본' 카테고리의 다른 글

async/await  (0) 2024.08.06
Extension  (0) 2023.05.16
Reflection (리플렉션)  (1) 2023.05.16
Predicate  (0) 2023.05.16
Property(Getter, Setter)  (0) 2023.05.16

+ Recent posts