본문 바로가기

전체 글

(35)
[C#] Delegate Delegate란? 델리게이트는 대리자 혹은 c언어에서 쓰이는 포인터와 같은 개념입니다. 즉 대신 일해주는 녀석인데 주로 메소드를 참조(진짜 포인터랑 비슷)하고 있는 영역이라고 말 할 수 있습니다. 주의할 점은 전달할 매소드의 매개변수와 반환 값이 델리게이트와 같아야 합니다. 사용 방법 delegate 반환형 델리게이트명(매개변수..); Delegate 사용 방법 private delegate int SummaryDelegate(int a, int b); private int Sum(int a, int b) => a + b; public void Run() { //Sum이라는 메서드를 sd1이 참조하여 사용 할 수 있습니다. SummaryDelegate sd1 = Sum; //간단한 메서드 같은경우 아래..
[C#] EventHandler - 이벤트에 특정값(Class)전달 EvenHandler 일반적인 EventHander는 이벤트 발생시 전달할 값이 없는 이벤트를 나타냅니다. public delegate void EventHandler(object? sender, EventArgs arg); 매개 변수 Sender => Object 이벤트 호출자, 이벤트 소스라 불립니다. arg => EventArgs 이벤트 데이터가 포함되지 않은 개체입니다. 그냥 이벤트 호출자의 정보(sender)를 전달하거나, 혹은 이벤트를 통해 해당시 점의 특정 메서드를 실행시킬 때 사용> EvntHander 사용 방법 //이벤트를 선언 private event EventHandler ShowMessage; public void Run() { //단지 Event를 통해 ShowMessage를 보여..
[C#] Linq에서 특정 Type만 가져오기 Linq를 이용해서 특정타입만 필터링해서 가지고 오고 싶을경우가 있습니다. 이때 Where조건을 쓰는 방법도 있지만, 저는 주로 ofType을 사용합니다. Cast를 이용해 강제 형변환시키면 되지 않나? 이 경우는 내가 타입을 알고 있어서, 그 타입을 사용하겠다 사용할때만 사용이 가능합니다. Cast 에서 이 특정타입에 맞지 않은 값이 오게되면, Error가 발생 합니다. Cast public void Run() { object[] obj = new object[] { (string)"양뱅", (int)33, (string)"동목", (string)"다방" }; //object Array를 string 타입으로 Casting 을 obj.Cast() .Select(f => f) .To..