즉시이 컨텍스트에서 이벤트를 처리하고 구독을 취소 할 수 있습니까? context_는 기본적으로 시작하고 중지하는 간단한 statemachine을 관리하는 데 사용됩니다.C# Dispose(), 이벤트 구독 취소
class ClassA
{
StateContext context_;
void SomeMethod()
{
if(context_ != null)
context_.Dispose();
context_ = new StateContext();
}
class StateContext : IDisposable
{
SubClassA()
{
//Subscribe to an event
}
void Dispose()
{
//unsubscribe to an Event
}
}
}
아니요, IDisposable 계약을 위반하고 있습니다. 계약 위반시에는 특별한주의와 무거운 코멘트가 필요합니다. 수업이 공개되지 않는 한 수업에서 벗어날 수 있습니다. –
실제 코드가 예제 코드와 정말로 닮았다면'Dispose'를'Unsubscribe'로 바꾸고'IDisposable'을 구현하지 않고 "내가 할 수있는 메소드를 만들 수 있습니까? 원하는 논리 " – SimpleVar