3

.Net フレームワークと特に C# 言語はReflect Oriented Programmingand をサポートしていAspect Oriented Programmingますか?

4

2 に答える 2

2

はい、.NET 自体が AOP と Reflect Oriented Programming をサポートしています。

リフレクションと System.Reflection 名前空間を使用したリフレクト指向プログラミング。

AOP には複数の方法があります。また、リモート プロキシと ContextBoundObject からの派生のみが .NET Framework 自体でサポートされていますが、そのパフォーマンスのために AOP での使用は推奨されていません。サードパーティのライブラリを使用する他のすべての可能性。

  • リモーティング プロキシを使用したアプローチ
  • ContextBoundObject からの派生
  • コンパイル時のサブクラス化 (Rhino Proxy)
  • ランタイム サブクラス化 (キャッスル ダイナミック プロキシ)
  • プロファイラー API へのフック ( Type Mock )
  • コンパイル時の IL-weaving (Post Sharp / Cecil)
  • ランタイム IL ウィービング ( Post Sharp / Cecil )
于 2012-12-07T15:48:10.820 に答える
0

リフレクション、はい: System.Reflection 名前空間を使用できます。

アスペクト指向プログラミングは、.NET/C# ではそのままでは実際にはサポートされていません。そのためには、サード パーティのツールが必要です。一般的な例として、PostSharp と Castle DynamicProxy があります。

于 2012-12-07T14:56:38.653 に答える