이전 포스팅에서 기본 델리게이트(대리자)사용법에 알아 보았다면, 이번 포스팅에서는 관련 추가 사항 중 하나인 익명함수로 선언 하는 방법에 대해 알아보겠습니다.
delegate() 이용
class Program
{
public delegate void TestDelegate();
public static void Main(string[] args)
{
Testing Test = new Testing();
TestDelegate testDelegateFunction = delegate () { Console.WriteLine("테스트"); };
testDelegateFunction();
}
}
위와 같이 delegate ()를 이용해 함수명 없이 익명함수를 델리게이트에 할당할 수 있습니다.
lambda 함수 이용
위 코드에 멀티캐스트로 함수를 추가하는 코드를 작성해볼건데요.
(멀티캐스트를 모르시면 해당 포스팅을 참조하시기 바래요.)
class Program
{
public delegate void TestDelegate();
public static void Main(string[] args)
{
Testing Test = new Testing();
TestDelegate testDelegateFunction = delegate () { Console.WriteLine("테스트"); };
testDelegateFunction += () => { Console.WriteLine("테스트2"); };
testDelegateFunction();
}
}
람다 함수를 이용해서도 델리게이트에 함수를 할당할 수 있습니다.
'c#' 카테고리의 다른 글
[c#] Attribute(어트리뷰트) 란? (0) | 2022.05.16 |
---|---|
[c#] enum(열거형) 사용 이유/사용법 (3) | 2022.05.16 |
[c#] var 키워드란? (0) | 2022.05.13 |
[c#] 익명타입이란? (0) | 2022.05.13 |
[c#] 인터페이스란? (1) | 2022.05.12 |
댓글