VB.net属性的属性获取和设置

时间:2018-10-09 13:45:25

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

这种情况是,我们已经使用Unity编写了一个调试器拦截器,以轻松地包装对象来编写完成方法所需的时间。可悲的是,它也在编写所有公共财产的获取和设置发票。因此,我们只需在属性上放置一个属性即可将其从跟踪中排除。像这样:

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

因为:

ExcludeFromTracing
Property Example { get; set; }

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

所以这对于C#来说是可行的...现在挑战来了,我们还有旧版vb.net应用程序,因为我们遇到了性能问题,只是想添加此拦截器以查明应用程序中的瓶颈。

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

1 个答案:

答案 0 :(得分:0)

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

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