Unity InterfaceInterceptor,如何将值传递给原始/截获的方法

时间:2018-06-06 13:37:14

标签: c# unity-container interceptor

我在InterceptionBehavior中创建了一个ID,我必须将其传递给原始方法。

这是一个糟糕的设计吗?如果没有,将值传递给原始方法的最佳方法是什么?

public class LoggingInterceptionBehavior : IInterceptionBehavior
{
     public IMethodReturn Invoke(IMethodInvocation invocation, GetNextInterceptionBehaviorDelegate getNext)
        {
            var loggingIsEnabled = CheckLoggingIsEnabled(invocation);

            if (loggingIsEnabled)
            {
                _logHandler.WriteStartEntry(invocation);
            }

             _result = getNext()(invocation, getNext); // Here i want to pass a value to the original Method

            if (loggingIsEnabled)
            {
                _logHandler.WriteEndEntry(invocation, _result, _duaration);
            }

            return _result;
        }

}
欢呼,曼弗雷德

0 个答案:

没有答案