PostSharpを見てください。これは、「1 日に何百回も実行するこのコード パターンを自動化するにはどうすればよいですか?」という典型的な問題のための AOP フレームワークです。PostSharp でこれを簡略化できます (例):
public Class1 DoSomething( Class2 first, string text, decimal number ) {
if ( null == first ) { throw new ArgumentNullException( "first" ); }
if ( string.IsNullOrEmpty( text ) ) { throw new ArgumentException( "Must be not null and longer than 0.", "text" ) ; }
if ( number < 15.7m || number > 76.57m ) { throw new OutOfRangeArgumentException( "Minimum is 15.7 and maximum 76.57.", "number"); }
return new Class1( first.GetSomething( text ), number + text.Lenght );
}
に
public Class1 DoSomething( [NotNull]Class2 first, [NotNullOrEmpty]string text, [InRange( 15.7, 76.57 )]decimal number ) {
return new Class1( first.GetSomething( text ), number + text.Lenght );
}
でもこれが全てじゃない!:)