Digite problema com Observable.Create de Boo
-
27-10-2019 - |
Pergunta
Eu estou tentando usar Reactive Extensions de Boo e estou correndo em problemas do tipo. Aqui está o exemplo básico:
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)
O Inscreva-se aqui dá uma System.InvalidCastException: Não é possível converter de tipo de fonte para o tipo de destino. A questão parece ser com a forma como eu estou criando o observável, mas eu tenho lutado para ver onde está o problema tipo surge.
Idéias?
Solução
Observable.Create
leva Func<IObserver,Action>
, mas o seu OnSubscribe
aceita um IObservable
.
Tente isto:
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)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow