酷PostSharp方面

时间:2009-02-01 23:48:43

标签: c# .net aop postsharp

我正在寻找有趣的PostSharp方面 - 你发现有用且不介意分享的任何内容。

3 个答案:

答案 0 :(得分:4)

对我来说,最酷的方面是它可以帮助我实现single responsibility principle

“在面向对象的程序设计中,单一责任原则规定每个对象应该只有一个责任,并且其所有服务都应该与该责任密切相关。”

我希望将来能够更充分地采用这种方法,但是就目前而言,我刚开始将其纳入我的日志记录需求:

Log4PostSharp一起,我可以做到:

[Log(LogLevel.Info, "Counting characters.")]
int CountCharacters(string arg) {
   return arg.Length;
}

这意味着,记录的责任归于其他地方(编码方式),并通过PostSharp和Log4PostSharp魔法从单独的来源注入。

答案 1 :(得分:4)

d。 Patrick Caldwell在他的博客上有一些很酷的想法。

使用Attributes和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

  • 基本上是一种轻量级的字段值缓存机制。

答案 2 :(得分:0)

Daft问题,但这不是Contributions Directory的目的吗?

有一个自动属性更改实现的示例 - INotifyPropertyChanged