36. 익명메소드
·
💻 Programming Language/C#
익명메소드(Anonymous Method) : 이름이 없는 메소드 선언형식 델리게이트 인스턴스명 = delegate(매개변수) { 실행코드 ... } 사용 예제 코드 using System.Collections; namespace AnonymousMethodEx { delegate int CalDelegate(int x, int y); class Program { static void Main(string[] args) { CalDelegate cd; cd = delegate (int x, int y) { return x * y; }; // => 익명메소드 형태 (이름이 없음) // 단 대리자의 형식과 같은 형식을 써야한다. // 고려해야 할 형식은 반환타입, 인자타입, 인자수가 있다. Console.W..
35. 델리게이트 체인(delegate chain)
·
💻 Programming Language/C#
델리게이트 체인(delegate chain) : 델리게이트 하나가 여러개의 메소드를 동시에 참조하는 것. 사용 예제 코드 using System.Collections; namespace DelegateEx { delegate void CalDelegate(int x , int y); class Program { static void Add(int x, int y) { Console.WriteLine(x + y); } static void Sub(int x, int y) { Console.WriteLine(x - y); } static void Mul(int x, int y) { Console.WriteLine(x * y); } static void Div(int x, int y) { Console.Wri..
34. 제네릭 델리게이트(Generic Delegate) & 콜백함수
·
💻 Programming Language/C#
알면 좋은 지식 - Callback Function(콜백함수) Delegate를 활용한 함수전달은 callback과 같은 개념 callback : A, B, C 메소드가 있을때, A가 B(중간자=Delegate)를 통해서 C에게 전달을 해달라고 했는데, B가 C에게 A에게 연락할 것을 요청하고, C가 다시 A에게 연락을 취한다. 쉽게 말해 A를 C에게 전달하고 싶은데 중간에 delegate가 그 역할을 하고, C는 결과를 A에게 반환한다. using System.Collections; namespace DelegateEx { delegate int CalculationDelegate(int x, int y); class Program { static int Add(int x, int y) { return..
33. 델리게이트(delegate) 사용
·
💻 Programming Language/C#
델리게이트 사용 예제 코드 using System.Collections; namespace DelegateEx { delegate int MyDelegate(int a, int b); class SumSubtract { public int sum(int a, int b) { return a + b; } public static int subtract(int a, int b) // 델리게이트는 static 메소드도 전달할 수 있다. { return a - b; } // 델리게이트(delegate = 대리자)는 해당 메소드들이 저장되어 있는 주소값을 넘겨주는 것이다. } class Program { static void Main(string[] args) { SumSubtract ss = new SumSub..
32. 델리게이트(delegate)의 기본 개념
·
💻 Programming Language/C#
델리게이트(Delegate) : 메소드를 다른 메소드로 전달할 수 있도록 하기 위해서 만들어 진 것. => 델리게이트를 이용해 포장하고 전달.(내가 이해한바로는 .. ㅇㅇ) void AAA(int arg1){ ... } int a = 123; AAA(a); class DemoClass { int id; string name; public int DisplayInfo() {..} } void AAA(DemoClass d){ ... } DemoClass d = new DemoClass(); AAA(d) 위의 코드들은 기존 인자를 통해 객체 혹은 값을 전달하는 방식 메소드를 전달하고 싶을땐 delegate를 사용 void AAA(Mydelegate Method){ ... } int StringToInt(str..