开源替代postSharp,支持简单的自定义属性

有没有人知道postharp的开源替代多数民众赞成在易于使用和支持基于属性的东西? 我见过的AspectDNG有点类似,但是创build这些属性就像c ++代码,需要不同的编译forms

我知道windsor,ninject,Spring.Net等,但他们都没有像postsharp自定义属性。

我正在寻找一些程序,可以让我在事件发生之前使用自己的自定义属性。

我将不胜感激任何build议。

谢谢

编辑:这个问题,具体描述这些问题,它应该支持属性之前没有被问到。 所以,请不要closures这个问题。 这不是重复的。

编辑:为什么我怕postharp? PostSharp到目前为止是最好的,但它是商业的,看起来不确定/风险大的项目使用免费版本。我们永远不知道什么时候他们可能会停止他们的免费版本。

编辑:感谢所有的投票和最喜欢的补充。 到目前为止,我已经find了这个:http: //zinject.codeplex.com/,但它是法文。 请提供更多的build议,如果任何人find其他的东西。

我们刚刚发布了Afterthought ..从文档:

事后允许开发人员后处理.NET程序集以添加无法添加到原始源代码或不方便/高效的代码。 例子包括:

  1. 调整你没有源代码的编译程序集必须支持/修改
  2. 将testing逻辑添加到程序集中以用于testing目的,这并不总是发布版本的一部分
  3. 在直接实现时,实现繁琐的接口或模式,阻碍编码工作的简单性。

那么,Afterthought是做什么的? 很简单,它可以让你:

  1. 通过修改修改<,>来创buildtypes修改,以描述您想要进行的修改
  2. 将属性添加到您的types中,指出要修改哪些types以及应用哪些修订
  3. 通过添加新属性或修改现有属性的逻辑来修改属性
  4. 通过添加新方法或修改现有方法的逻辑来修改方法
  5. 通过添加新的构造函数或修改现有构造函数的逻辑来修改构造函数
  6. 直接在使用现有属性/方法的types上实现接口,添加新的属性/方法,并允许Afterthought自动实现其他任何事情。configuration项目以调用Afterthought作为后期构build步骤来应用更改

CciSharp是另一种select。 像PostSharp一样,它是一个使用属性的后编译IL重写器。

一个好的select是http://www.gripper-loom.net/