Alternativa al tipo anidado de tipo Expresión <Func <T>>

Tengo una función utilizada al llamar a un servicio. Antes de llamar al servicio, creará una entrada de registro:

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

El Visual Studio 2010 Code Analyzer me informa que no debería usar el Tipo anidado en el siguiente mensaje:

CA1006: Microsoft.Design: considere un diseño donde 'ServiceManager.CallService <TService, Result> (TService, Expression <Func <TService, TResult >>)' no anida el tipo genérico 'Expression <Func <TService, TResult >>' .

Si bien podría simplemente crear una regla de supresión para esta entrada, ¿existe una alternativa que impida mostrar dicha advertencia?

Respuestas a la pregunta(4)

Su respuesta a la pregunta