Мне требуется предварительная обработка нескольких файлов C# в качестве этапа предварительной сборки для проекта, обнаружения начала методов и вставки сгенерированного кода в начале метода перед любым существующим кодом. Однако у меня проблема с обнаружением открытия метода. Сначала я попробовал регулярное выражение для соответствия, но в итоге оказалось слишком много ложных срабатываний.Предварительная обработка C# - Методы обнаружения
Я бы использовал отражение, но класс MethodInfo не ссылается на точку в исходном источнике.
EDIT: То, что я действительно пытаюсь сделать здесь, заключается в том, чтобы поддерживать предварительные условия на методы, причем код предварительной настройки определяется атрибутами метода. Моя первоначальная мысль заключалась в том, что я мог бы найти начало метода, а затем вставить сгенерированный код для обработки предварительных условий.
Есть ли лучший способ сделать это? Я открыт для создания Visual Studio Addin, если это необходимо.
Это проект .NET 2.0.
Приветствия
Я быстро взглянул на PostSharp - выглядит хорошо, но я бы предпочел не отправлять стороннюю библиотеку с продуктом, чтобы это работало ... – Kazar
Если вы не хотите отправлять Сторонняя библиотека, используйте ILMerge для объединения этих сборок в свои. Для этого вы можете использовать шаг после сборки. –
Я предполагаю, однако, что PostSharp нужно будет установить для каждого разработчика, который должен построить с использованием этих предварительных условий? – Kazar