Использование GetCurrentMethod в (предположительно) высокопроизводительном коде

Для целей ведения журнала некоторые методы в нашем приложении включают следующую строку:

Dim Log As ILog = GetLog(Reflection.MethodBase.GetCurrentMethod().DeclaringType)

У меня есть то, что можно охарактеризовать как иррациональный страх отражения, который я стараюсь держать под контролем. Однако подобные вызовы в методах, которые выполняются потенциально сто раз в секунду, меня беспокоят. Я не знаю так много, как я должен об отражении; но из краткого обзора документации мне кажется, что я мог бы заменить следующее:

Dim Log As ILog = GetLog(Me.GetType())

Мой вопрос в три раза:

Есть лиMe.GetType() на самом деле вернуть то же самоеType какGetCurrentMethod().DeclaringType?Есть лиMe.GetType() на самом деле делать что-нибудьиначе изGetCurrentMethod().DeclaringType, или он делает то же самое под капотом?Должен ли я вообще об этом беспокоиться? Производительность имеет решающее значение в этом приложении; программаработает хорошо, но характер нашего бизнеса таков, что если мы сможем сбрить хотя бы несколько микросекунд здесь и там, это полезно.

Ответы на вопрос(3)

Ваш ответ на вопрос