【问题标题】:Castle Windsor DynamicProxy Interception IInvocation DocumentationCastle Windsor DynamicProxy 拦截 IInvocation 文档
【发布时间】:2011-04-26 17:59:38
【问题描述】:

在Castle Castle.DynamicProxy.IInvocation上,有什么区别

GetConcreteMethod

GetConcreteMethodInvocationTarget

Method

我阅读了文档,但我不明白其中的区别,尤其是前两者之间的区别。

我猜Method 只是实际注册类型上的方法的 MethodInfo?

【问题讨论】:

  • 您指的是什么文档?我检查了stw.castleproject.org/Tools.DynamicProxy.ashx 的 wiki,这些方法没有出现在任何地方(这是一个不同的问题)。
  • 关于代码本身的 XML 文档(例如智能感知)

标签: .net inversion-of-control castle-windsor castle castle-dynamicproxy


【解决方案1】:
  • GetConcreteMethod 在 代理 上返回一个关闭的方法,如果它有泛型参数,则关闭它。如果它不是泛型方法,它会返回与 Method 属性相同的值。

  • GetConcreteMethodInvocationTarget 返回与 MethodInvocationTarget 属性相同的值,但在调试版本中断言它返回一个封闭的方法定义。

  • 方法返回proxy的MethodInfo,而不是返回一个封闭的泛型方法。

这能回答你的问题吗?

顺便说一句,我已经更新了 Xml 文档,希望它们会更加清晰。

【讨论】:

  • 谢谢!! MethodInvocationTarget 返回注册服务上的 MethodInfo(未关闭),对吗?
  • MethodInvocationTarget 返回目标(注册服务)上关闭的 MethodInfo
  • 有没有办法获取实现上的方法?不是代理。
  • 这就是你使用 GetConcreteMethodInvocationTarget() 或 MethodInvocationTarget 的目的
猜你喜欢
  • 2012-03-31
  • 2023-03-03
  • 2011-02-26
  • 2018-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
相关资源
最近更新 更多