我试图使用从嘘无扩展和正在运行到类型的问题。这里是基本的示例:

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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top