10월 3일(금)부터 10월 12일(일)까지 긴 연휴 후 오랜만에 작성하게 되는 TIL이다. 이전까지 없었던 서론이 새롭게 생겼는데 이전까지 금일 학습을 하게 된 배경을 느낀점에 적었다. 연휴동안 작성한 글을 읽어보았고 배경은 시작 전에 적는 것이 자연스러울 것이고, TIL이지만 너무 딱딱하게 배운 것만 하는 것이 아닌 그 날을 돌이켜보는 일기 형식으로 적고 싶어 이렇게 새롭게 작성하게 되었다. 당연히 사적인 얘기도 담겨 있기도 하고 가볍게 쓰다보니 우수 TIL이 될리가 없지만 혹시나 뽑게 되면 ... 매우 슬플 것 같다.
델리게이트
- 매서드(함수)를 변수처럼 저장하고 호출할 수 있게 해주는 타입
namespace ForVelog { public delegate void PrinterDelegate(string msg); public class Printer { public void PlusPrint(string msg) { Console.WriteLine("출력: " + msg); } } class Program { static void Main(string[] args) { Printer prt = new Printer(); PrinterDelegate del = new PrinterDelegate(prt.PlusPrint); del("델리게이트 예시 코드"); } } }
(출력 화면)
항상 코드를 작성하면서 함수를 매번 호출이 아닌 변수처럼 사용할 수 없나 생각했었는데 실제로 구현이 되어있는지 몰랐기에 배우면서 매우 신기해 하였다. 아직 겉핥기로 배우고 활용하였기에 정확하게 알아서 미친 응용이 가능하다는 말은 못 하기에 굳이 사용 안 해도 될 상황에서도 가능만하다면 계속 쓸 것 같다.