PostSharp の興味深い側面を探しています。役に立ち、共有してもかまわないものなら何でも。
3 に答える
D. Patrick Caldwell は、彼のブログでいくつかのクールなアイデアを紹介しています。
属性と PostSharp を使用したパラメーターの検証 http://dpatrickcaldwell.blogspot.com/2009/03/validate-parameters-using-attributes.html
- PostSharp を使用したコーディング コントラクトの実装。
PostSharp を使用したメモライザー属性 http://dpatrickcaldwell.blogspot.com/2009/02/memoizer-attribute-using-postsharp.html
- 基本的に、軽量のフィールド値キャッシング メカニズムです。
私にとって最もクールな点は、単一責任の原則を実装するのに役立つことです。
「オブジェクト指向プログラミングでは、単一責任の原則は、すべてのオブジェクトが単一の責任を持つべきであり、そのすべてのサービスがその責任と厳密に一致する必要があることを示しています。」
将来、より多くの経験を積んでこれをより完全に採用したいと考えていますが、今のところ、ロギングのニーズに組み込むことから始めたところです。
Log4PostSharpと一緒に、次のことができます。
[Log(LogLevel.Info, "Counting characters.")]
int CountCharacters(string arg) {
return arg.Length;
}
これが意味することは、ロギングの責任は別の場所にあり (コーディングに関して)、PostSharp および Log4PostSharp マジックによって別のソースから注入されるということです。
くだらない質問ですが、それがContributions Directoryの目的ではありませんか?
自動プロパティ変更実装の例があります - INotifyPropertyChanged。