VB.net Атрибуты на свойства получить и установить - PullRequest
0 голосов
/ 09 октября 2018

Сценарий состоит в том, что мы написали перехватчик отладчика, используя 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

1 Ответ

0 голосов
/ 09 октября 2018

Вы можете проверить, установлен ли флаг IsSpecialName для фильтрации сгенерированных компилятором геттеров и сеттеров (и событий и т. Д.).

Я полагаю, вы используетеIInterceptionBehavior.В методе Invoke проверьте input.MethodBase.IsSpecialName.

...