Как автоматически сгенерировать шаблон декоратора в C #

У меня есть некоторый интерфейс и класс, реализующий этот интерфейс, скажем:

interface IMyInterface
{
     void Func1();
     void Func2();
}

class Concrete : IMyInterface
{
     public virtual void Func1() { //do something }
     public virtual void Func2() { //do something }
}

Теперь я хочу создать класс, который украшает каждый из методов конкретного класса некоторой определенной логикой , который будет выполняться в непроизводственной среде до и после вызова.

class Decorator : Concrete
{ 
     public override void Func1() { Pre(); base.Func1; Post(); }
     public override void Func2() { Pre(); base.Func2; Post(); }
}

Мой вопрос: есть ли более простой способ автоматически сгенерировать такой класс, кроме использования отражения в интерфейсе и создания текстового файла с расширением cs?

7
задан Amittai Shapira 7 August 2018 в 18:00
поделиться