Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以指定Castle Windsor在类代理中重写哪些虚拟方法吗?_C#_Castle Windsor_Aop_Interceptor_Castle Dynamicproxy - Fatal编程技术网

C# 我可以指定Castle Windsor在类代理中重写哪些虚拟方法吗?

C# 我可以指定Castle Windsor在类代理中重写哪些虚拟方法吗?,c#,castle-windsor,aop,interceptor,castle-dynamicproxy,C#,Castle Windsor,Aop,Interceptor,Castle Dynamicproxy,我在一个类中有很多虚拟方法,但是只有一个应该被拦截,我能告诉Castle Windsor只重写那个方法吗,这样我就不必在拦截方法中进行验证了 编辑: 我使用IKernelEvents.ComponentRegistered事件来选择获取拦截器的类型 如果只想代理一种方法,请使用IProxyHook选择要代理的方法 如果您正在修改ComponentModel(添加拦截器或代理挂钩就是这样一种操作),请使用IContributeComponentModelConstructions进行修改。以获得更

我在一个类中有很多虚拟方法,但是只有一个应该被拦截,我能告诉Castle Windsor只重写那个方法吗,这样我就不必在拦截方法中进行验证了

编辑:

我使用IKernelEvents.ComponentRegistered事件来选择获取拦截器的类型

  • 如果只想代理一种方法,请使用
    IProxyHook
    选择要代理的方法
  • 如果您正在修改
    ComponentModel
    (添加拦截器或代理挂钩就是这样一种操作),请使用
    IContributeComponentModelConstruction
    s进行修改。以获得更深入的解释

  • 使用decorator而不是拦截器如何?我是否应该使用此接口来更改我使用DynamicProxy API和IProxyHook手动创建的代理的“ComponentModel.Implementation”?正如文档所说,通常,如果要修改ComponentModel,请在
    IContributeComponentModelConstruction