Alternativa ao tipo aninhado do tipo Expressão <Func <T>>

Eu tenho uma função usada ao chamar um serviço. Antes de chamar o serviço, ele criará uma entrada de log:

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

O Visual Studio 2010 Code Analyzer me informa que não devo usar o Tipo Aninhado na seguinte mensagem:

CA1006: Microsoft.Design: considere um design em que 'ServiceManager.CallService <TService, Result> (TService, Expressão <Func <TService, TResult >>)' não aninha o tipo genérico 'Expressão <Func <TService, TResult >>' .

Embora eu possa simplesmente criar uma regra de supressão para esta entrada, existe uma alternativa que impeça a exibição desse aviso?

questionAnswers(4)

yourAnswerToTheQuestion