У нас есть устаревший код и вы хотите узнать, когда метод вызова «Выполнить». Структура кодаПерехватчик для статического метода
Legacy:
public class CmsJob
{
public static string Execute()
{
}
}
Можно ли использовать IInterceptor или PostSharp.dll осуществить дополнительную операцию до или после выполнения статического метода?
Я так не считаю. Статические методы по самой своей природе очень сложно насмехаться. Обычно перехватчики базируются на полиморфизме + прокси. Вы не можете использовать любую из этих функций со статикой. Для такого мышления, вероятно, потребуется создать фальшивую dll с поддельным методом Execute, который связывает аганист вашей DLL и выполняет вашу логику перехватчика, а затем вызывает Execute. Конечно, вам нужно будет связать ваш проект с этой фальшивой dll. – user2184057
Спасибо @ user2184057. Вы подтвердили мои предположения – Pavel
Можете ли вы изменить источник и перекомпилировать? Можете ли вы изменить двоичный файл? Подписана ли сборка, содержащая этот метод? –