私はCastle Windsorと知っていますが、クラスに属性を適用する代わりに、コードを使用してアスペクトを登録することができます(WindsorのAOPとしてメソッドを使用する場合)。ポストシャープでも同じことが可能ですか?それは好みのことですが、すべての属性とは対照的に、1つの場所でインターフェイス/オブジェクトに一致する側面を持つことを好みます。アトリビュートを使わずにポストシャープでアスペクトを適用できますか?
アップデート:私はこれに似インターフェース/オブジェクトに側面を割り当てることができるかどう は好奇心:
container.Register(
Component
.For<IService>()
.ImplementedBy<Service>()
.Interceptors(InterceptorReference.ForType<LoggingAspect>()).Anywhere
);
あなたがこれを行うことができれば、あなたはアセンブリ/上の属性を配置する必要がないのオプションを持っているでしょうアスペクトを適用するクラス/メソッド。次に、どのアスペクトがどのクラス/メソッド/ etcに適用されるかを含む1つのコードファイル/クラスを持つことができます。
これらの記事はまだクラスに属性を適用しているようです。私はキャッスルがダイナミックインジェクションをどのようにしているかを見ていました:http://blog.andreloker.de/post/2009/02/20/Simple-AOP-integrating-interceptors-into-Windsor.aspx。 PostSharpでこれを行うことができるのであれば私は興味があります。 PostSharpはコンパイル時の面を織り込むので、そうでない場合は理解することができます。 –
あなたは何を目指していますか?あなたの質問には、「それは好みのことですが、すべての属性とは対照的に、1つの場所でインターフェイス/オブジェクトに一致する側面を持つことを好む」と述べています。それが私が答えを出した理由です。これで、実行時にアスペクトを有効または無効にしたいように思えます。属性を使用してアスペクトが適用される場合はどういう意味ですか?ランタイムとコンパイル時間の関係はありますか? –
質問が更新されました。それが事をクリアすれば私に教えてください。 –