Posso usar o padrão decorador para quebrar um corpo de método?

Eu tenho vários métodos com assinaturas variadas. Esses métodos interagem com uma conexão de dados frágeis; portanto, frequentemente usamos uma classe auxiliar para executar novas tentativas / reconexões, etc.

MyHelper.PerformCall( () => { doStuffWithData(parameters...) });

E isso funciona bem, mas pode tornar o código um pouco complicado. O que eu preferiria fazer é decorar os métodos que interagem com a conexão de dados da seguinte forma:

[InteractsWithData]
protected string doStuffWithData(parameters...)
{
     // do stuff...
}

E então essencialmente, sempre quedoStuffWithData é chamado, o corpo desse método seria passado como umAction paraMyHelper.PerformCall(). Como eu faço isso?

questionAnswers(7)

yourAnswerToTheQuestion