質問

私はブーからの反応性拡張機能を使用しようとしているとタイプの問題に実行しています。ここでは基本的な例があります:

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.CreateFunc<IObserver,Action>がかかりますが、あなたのOnSubscribeIObservableを受け入れます。

これを試してみてください

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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top