【问题标题】:VB.net Attributes on properties get and setVB.net 属性上的属性获取和设置
【发布时间】:2018-10-09 13:45:24
【问题描述】:

场景是我们使用 Unity 编写了一个调试器拦截器来轻松包装一个对象,以编写一个方法完成所需的时间间隔。可悲的是,它还编写了所有公共属性的 get 和 set 调用。因此,我们只需在属性上添加一个属性即可将其排除在跟踪之外。比如:

Property Example { [ExcludeFromTracing]get; [ExcludeFromTracing]set; }

自:

ExcludeFromTracing
Property Example { get; set; }

不起作用,因为 get 和 set 被编译为它们自己的方法,这些方法将在运行时被拦截。

所以这在 C# 中适用于我们...现在挑战来了,我们也有遗留的 vb.net 应用程序,如果我们有性能问题,只是想添加这个拦截器来查明我们应用程序中的瓶颈。

可悲的是,我找不到 vb.net 相当于在接口中将属性添加到属性 get 和 set 方法?或任何其他排除使用 unity.interception 拦截属性调用的方式

【问题讨论】:

    标签: c# vb.net interface attributes unity-interception


    【解决方案1】:

    您可以检查 IsSpecialName flag 是否设置为过滤掉编译器生成的 getter 和 setter(以及事件等)。

    我猜你正在使用IInterceptionBehavior。在Invoke 方法中,检查input.MethodBase.IsSpecialName

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      相关资源
      最近更新 更多