IObservable <> fehlt .Subscribe-Erweiterungsmethoden

Ich verwende RX-Erweiterungen und WF4, um einen Workflow zu erstellen, der auf beobachtbare Meldungen reagiert, um den Workflow fortzusetzen. Dazu bringe ich ein Objekt mit einem IObservable ein (ModuleMessage ist meine abstrakte Klasse). Das Problem, das ich habe, ist, dass .Subscribe keine seiner Erweiterungsmethoden erkennt, nämlich die für Lambda-Extpressionen / Methodengruppen. Im folgenden Code habe ich Verweise:

<code>using System.Activities;
using System.Activities.Hosting;
using System.Collections.Generic;
using System.Reactive.Linq;
</code>

Und auch die folgende Codezeile:

<code>    internal void AddModuleCallback(IModule module)
    {
        if (!addedCallback)
        {
            addedCallback = true;
            module.Messages.Where(m => m is MemberLeftModuleMessage || m is MemberRemovedModuleMessage).Subscribe(m => this.OnMemberExit(m)); // This line errors
        }
    }

    internal void OnMemberExit(ModuleMessage message)
    {
        // Gizmo was fired, resume the bookmark
        this.instance.BeginResumeBookmark(
            new Bookmark(ModuleVisit.BookmarkName),
            message is MemberLeftModuleMessage,
            r => this.instance.EndResumeBookmark(r),
            null);
    }
</code>

Mit dem Kompilierungsfehler von:

<code>Error   1   Cannot convert lambda expression to type 'System.IObserver<Components.Messages.ModuleMessage>' because it is not a delegate type    <Removed>\WaitForModuleVisitExtension.cs    34  119 Components
</code>

Bitte beachten Sie, dass dieser Code aus einem Beispiel stammt und nicht nach meinem Geschmack ausgeklammert wurde. Ich bin nur an dem vorliegenden Problem interessiert. Ich bin kein Profi mit RX oder WF4, habe aber auf diese Weise anderswo in der gleichen Lösung abonniert. Ich habe RX über NuGet zu diesem Projekt hinzugefügt.

Bearbeiten: der folgende Fehler, wenn ich als Methodengruppe (anstelle von Lambda) verwende:

<code>Error   2   Argument 1: cannot convert from 'method group' to 'System.IObserver<Components.Messages.ModuleMessage>' <removed>\WaitForModuleVisitExtension.cs    34  119 Components
</code>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage