대리자(Delegate)와 이벤트 - 1 (대리자, 대리자를 사용하는 이유와 상황, 일반화 대리자, 대리자 체인, 익명 메소드)
1. 대리자(Delegate) 콜백(Callback)은 프로그래밍에서 어떤일을 해줄 코드를 두고, 이 코드가 실행할 세부코드는 컴파일 시점이 아닌 실행시점에 부여하는것이다. 또한, 대리자는 메소드에 의한 참조이며, 대리자에 메소드의 주소를 할당한 후 대리자를 호출하면 이 대리자가 메소드를 호출해준다. //대리자 선언예시 //메소드에 대한 참조이므로 자신이 참조할 메소드의 반환 형식과 매개 변수를 명시해줘야한다. delegate int MyDelegate(int a, int b) * 대리자는 인스턴스가 아닌 int, string과 같이 형식(Type)이며, 인스턴스를 따로 만들어야 사용가능하다. ex) int Plus(int a, int b){return a+b;} int Minus(int a, int b..
예외 처리하기 (try~catch문, System.Exception 클래스, 예외 던지기, finally, 사용자 정의 예외클래스, 예외 필터(when), 예외처리의 장점)
A. try ~ catch문 static void Main(string[] args) { int[] arr = { 1, 2, 3 }; try { for (int i = 0; i < 5; i++) Console.WriteLine(arr[i]); } catch(IndexOutOfRangeException e) { Console.WriteLine($"예외가 발생했습니다 :{e.Message}"); } Console.WriteLine("종료"); } B. System.Exception 클래스 C#에서 모든 예외클래스는 System.Exception 클래스로부터 파생되었다. 즉, catch절에서 Exception으로 모든 예외를 다 받아낼 수 있다. * 하지만, 예외 상황에 따라 섬세한 예외 처리가 필요한 코드에..