だから私は PostSharp と協力してボイラープレートのロギング/例外処理コードを引き出し、次のようにします。
public void doSomething()
{
Logger.Write("Entered doSomething");
try
{
// code
}
catch (Exception ex)
{
ExceptionPolicy.HandleException(ex, "Errors");
}
Logger.Write("Exited doSomething");
}
これになります:
[Log]
[HandleExceptions]
public void doSomething()
{
// code
}
ただし、特定の場所に、既知の回復ポイントが存在するインスタンスを持つコードがあるため、次のようになります。
public void doSomethig()
{
try
{
// code
}
catch (KnownException ex)
{
ExceptionPolicy.HandleException(ex, "Known");
}
finally
{
this.Recover();
}
}
これをアドバイスとして表現したいのですが、アドバイスからクラスのメンバーにアクセスできないようです。