이와 같은 .NET Framework 인터페이스가 있습니까?.NET에 단일 EventHandler가 포함 된 표준 인터페이스가 있습니까?
public interface IEvent
{
event EventHandler Event;
}
물론 내 자신을 쓸 수는 있지만 이미 존재하는 경우 다시 사용하겠습니다. 어쩌면 Fire/Raise 방법도있을 수 있습니다.
이와 같은 .NET Framework 인터페이스가 있습니까?.NET에 단일 EventHandler가 포함 된 표준 인터페이스가 있습니까?
public interface IEvent
{
event EventHandler Event;
}
물론 내 자신을 쓸 수는 있지만 이미 존재하는 경우 다시 사용하겠습니다. 어쩌면 Fire/Raise 방법도있을 수 있습니다.
아니요.
일반적으로 C#/CLR의 이벤트는 질문에 표시된대로 인터페이스 기본 패턴을 사용하지 않습니다. 이것은 Java 스타일의 이벤트와 매우 유사합니다. 가장 가까운 항목은 새 대리자 유형을 만드는 대신 재사용 할 수있는 일반 이벤트 대리자입니다. 이것은 존재하지 않습니다 System.EventHandler<TEventArgs>
+1, 네가 맞아, 자바의 옵저버 스타일에 매우 친숙 해 보인다. (뒤에서) –
아니오, 최소한 BCL 또는 다른 .NET 클래스 라이브러리에는 그러한 표준 인터페이스가 없습니다. 적어도 알고 있습니다.
.NET 세계에서는 실제와 일치하지 않습니다. 그래도 EventPool 구현을 살펴 보겠습니까? 이것은 이벤트를 발생시키는 기능을 가지고 있으며 이벤트는 열거 형 (enums)으로 설명 될 수 있습니다.
Reactive Framework의 인터페이스 부분에는 .Net 4.0, IObservable<T>
및 IObserver<T>
인터페이스 부분이 있습니다. 자세한 내용은 Paul Batum blog을 참조하십시오.
interface IObservable<out T>
{
IDisposable Subscribe(IObserver o);
}
interface IObserver<in T>
{
void OnCompleted();
void OnNext(T v);
void OnError(Exception e);
}
나는 그것을 언급하려고했다. 매우 흥미로운 것은 아마도 IEnumerable
그냥 질문 :
는이 인터페이스는 현재의 화신에있는 방법이다. 당신은 자바에서 왔습니까? – Dykam
아니요, WPF, MVVM, 첨부 된 속성 및 데이터 바인딩을 강제로 수행해야만했습니다. –