Ereignis ohne EventArgs mit Observable.FreMevent konvertieren

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ereignis ohne EventArgs mit Observable.FreMevent konvertieren

by Guest » 20 Feb 2025, 10:04

Ich kämpfe mit der Konvertierung des folgenden Ereignisses in einen iOBServable < /code>: < /p>

Code: Select all

public delegate void _dispSolutionEvents_OpenedEventHandler();
event _dispSolutionEvents_OpenedEventHandler Opened;
< /code>

Das Ereignis stammt aus einer Bibliothek, sodass ich es nicht ändern kann. Signatur: < /p>

public static IObservable FromEvent
( Action addHandler
, Action removeHandler
)
< /code>

Ich habe also versucht, das Ereignis wie folgt zu konvertieren: < /p>

var opened = Observable.FromEvent
( h => _SolutionEvents.Opened += h
, h => _SolutionEvents.Opened -= h
);
Aber der Compiler mag _SolutionEvents.opened += H und _SolutionEvents.opeed += H weil


kann den Typ 'System.Action' nicht implizit konvertieren 'Envdte._dispolutionEvents_openedEventhandler'. < /P>
< /blockquote>

Ich glaube nicht

Code: Select all

_SolutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(h)
Da das Entfernen dann nicht funktioniert, weil ich eine andere Instanz habe, oder? Signatur: < /p>

public static IObservable FromEvent
( Func conversion
, Action addHandler
, Action removeHandler
)
< /code>

Dies ermöglicht die Umwandlung der Aktion in einen Ereignishandler, aber es scheint nur mit TeVentargs < /code> zu funktionieren. /> fehlt Rx eine geeignete Überladung oder fehlt mir etwas?

Top