니꼴라오
1
자바에도 있는지 모르겠습니다만 C#에서 Action, Func 에 관한 대리자라는 게 있더군요
문제[가 제가 사용할 소스중에 대리자가 나와서 헤매고 있습니다.
MSDN 이나 구글링 해보면 사용법은 나와 있는데 이걸 왜 사용해야 하는지 모르겠더군요
Func delegator = 기존 함수; 혹은
Func delegator = 람다식 등르로 사용하여 좀 하는 거 같습니다.
문제는
Func<클래스명> _session;
클래스 cls = _session?.invoke();
이렇게 사용하던데 무슨 의미인지 알고 싶습니다.
2 Likes
delegate라는 키워드가 여러 방면으로 사용될 수있는데 말씀하신대로 람다식이라고 불리는 익명메서드에 사용할 수 있습니다.
저는 주로 event를 사용할 때 사용합니다.
event는 delegate의 발전형태로, 여러 객체에 퍼져있는 특정 형태의 메서드를 일괄 호출할 때 편리하게 사용할 수 있습니다.
본래라면 객체마다 메서드를 하나씩 하나씩 호출해주어야 하는 것을, 객체 생성 시 메서드를 이벤트 객체에 등록하고 이벤트 객체를 호출하면 구독된 메서드들이 일괄 호출되어서 편리하게 개발할 수 있습니다.
3 Likes
dimohy
4
‘?.’ 으로 접근하면 인스턴스가 널일경우 이후 호출 메소드를 무시하고 실행하지 않습니다.
널 체크의 축약이라 보시면 됩니다.
3 Likes
더불어 ? 는 Elvis operator 라고 합니다.
엘비스 프레슬리의 구렛나룻을 따다가 이름 지어졌다고 합니다.
4 Likes