IInterceptionBehaviour 的 GetRequiredInterfaces 的目的是什么?

what's the purpose of IInterceptionBehaviour's GetRequiredInterfaces?

我实现了一个 InterceptionBehaviour (unity) 来记录方法调用前后的内容。我是 passing/injecting 我行为构造函数中的一个 ILogger 接口。我的问题是我是否需要让 GetRequiredInterfaces 返回 ILogger 接口?为什么?

do I need to have the ILogger interface returned by GetRequiredInterfaces or not?

不,你不知道。只需将 ILogger 注入拦截行为 class 的构造函数中,并确保向容器注册 ILogger

why?

拦截通过创建一个代理 class 来包装被拦截的对象。您可以使用 GetRequiredInterfaces 使此类代理 class 实现额外的接口,而无需(原始)目标对象实际实现这些接口。但是,您尝试做的与这种情况无关。