J'ai un courtier de messages dactylographiés semblable à ce que Caliburn fournit:Utiliser Rx avec courtier de messages dactylographiés
public interface IMessageBroker
{
void Publish<T>(T message);
IDisposable Subscribe<T>(Action<T> subscriber);
}
Comment puis-je convertir les abonnements à IObservable?
Je veux une méthode d'extension, quelque chose comme ceci: problème
public static IObservable<T> Subscribe<T>(this IMessageBroker messageBroker)
{
var subject = new Subject<T>();
messageBroker.Subscribe<T>(subject.OnNext);
return subject;
}
dans cette mise en œuvre est que je ne peux pas vous désabonner et il fuit.
Un meilleur nom pour la méthode Subscribe est également le bienvenu.
Une certaine contradiction ici, votre texte dit que vous voulez convertir en IObservable, mais votre code dit «S'abonner», ce qui implique que vous voulez retourner un abonnement? Est-ce ce que suppose votre demande d'un meilleur nom? Dans ce cas, le meilleur nom serait ToObservable ... – Benjol
Merci pour cette suggestion! 'ToObservable' semble bien et très descriptif. –