제네릭을 사용하기 위해 opur 코드를 재구성하고 있습니다. 위임자를 첨부/분리/반복/호출하기 위해 우리는 필요에 따라 (여기서는 변경이 불가능합니다) 자체 코드를 사용합니다.대리인의 대리인을 별칭/참조 할 수 있습니까?
나는 일반 클래스에이 대리자를 통과하고있어 순간public delegate void Event_x_Delegate(ref ComParam pVal, out bool result);
: 다음 BasicEvent와
public sealed class Event_X_Handling : BasicEvent<Event_X_Handling.Event_x_Delegate>
이
public abstract class BasicEvent<DELEGATE> : Loggable
where DELEGATE: class { ...
을 beeing는 클래스 X, Y, 자신을 선언 Z 있었다 전에
잘 작동하므로 첨부/분리 기능이 일반화되었습니다.
하지만 지금은 반복/호출도 일반화하고 싶습니다.
X와public abstract class BasicEventListener<EVENTPARAM1> :
BasicEvent<BasicEventListener<EVENTPARAM1>.BasicDelegate<EVENTPARAM1>> {
#region TYPES
public delegate void BasicDelegate<PARAM1>(ref EVENTPARAM1 pVal, out bool result);
#endregion
는, Y는 Z가 변경 :
public sealed class Event_X_Handling : BasicEventListener<ComParam>
그러나 여기 숨어 문제를 오는이 좋은 작품처럼 X, Y로, Z는 단지 "심판 ComParam PVAL"뭔가 다르다 모서리에서 : 부착/분리 이제 BasicEventListener.BasicDelegate으로 작업하십시오. 그러나 많은 코드. 그들은Event_X_Handling.Event_x_Delegate을 참조합니다. 이는 불행히도 델리게이트를 작성하는 데 NET1.1 구문을 사용했기 때문입니다 (입력 된 이벤트 + = 새 Delegate_X (_listen)). 짧은 그래서
보기 : BasicDelegate에 Event_x_Delegate 별칭을하는 방법은 무엇입니까? 나는 다른 가능성을 실제로 볼 수 없다.
추신 : 당연히 기본 클래스를 반복 호출에서 동적 호출로 분해하면 BasicDelegate을 도입하지 않고 구현할 수 있음을 알 수 있습니다. 그러나 이것은 매우 우아한 IMHO가 아닙니다.