Alternativ zum verschachtelten Typ Ausdruck <Func <T >>

Ich habe eine Funktion, die beim Aufrufen eines Dienstes verwendet wird. Bevor der Dienst aufgerufen wird, wird ein Protokolleintrag erstellt:

protected TResult CallService<TService, TResult>(TService service,
    Expression<Func<TService, TResult>> functionSelector)
{
    Logger.LogServiceCall(service, functionSelector);
    return functionSelector.Compile()(service);
}

Der Visual Studio 2010 Code Analyzer weist mich darauf hin, dass ich in der folgenden Nachricht Nested Type nicht verwenden sollte:

CA1006: Microsoft.Design: Betrachten Sie ein Design, bei dem 'ServiceManager.CallService <TService, Ergebnis> (TService, Ausdruck <Func <TService, TResult >>)' den generischen Typ 'Ausdruck <Func <TService, TResult >>' nicht verschachtelt '.

Während ich für diesen Eintrag einfach eine Unterdrückungsregel erstellen könnte, gibt es eine Alternative, die das Anzeigen einer solchen Warnung verhindern würde?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage