اكتب مشكلة مع 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