ブーからObservable.Createに問題を入力
-
27-10-2019 - |
質問
私はブーからの反応性拡張機能を使用しようとしているとタイプの問題に実行しています。ここでは基本的な例があります:
def OnSubscribe(observer as IObservable[of string]) as callable:
print "subscribing"
def Dispose():
print "disposing"
return Dispose
observable = System.Linq.Observable.Create[of string](OnSubscribe)
observer = System.Linq.Observer.Create[of string]({x as string | print x})
observable.Subscribe(observer)
ここでの購読はSystem.InvalidCastExceptionのを与える:宛先タイプにソースタイプからキャストすることはできません。問題は、私が観測を作成していますどのようにように見えますが、私はタイプの問題が生じてから場所を確認するために苦労してきました。
アイデア?
解決
Observable.Create
はFunc<IObserver,Action>
がかかりますが、あなたのOnSubscribe
はIObservable
を受け入れます。
これを試してみてください
def OnSubscribe(observer as IObserver[of string]) as callable():
print "subscribing"
observer.OnNext("first and only value")
observer.OnCompleted()
def Dispose():
print "disposing"
return Dispose
observable = System.Linq.Observable.Create[of string](OnSubscribe)
observer = System.Linq.Observer.Create[of string]({x as string | print x})
observable.Subscribe(observer)
所属していません StackOverflow