开源替代postSharp,支持简单的自定义属性
有没有人知道postharp的开源替代多数民众赞成在易于使用和支持基于属性的东西? 我见过的AspectDNG有点类似,但是创build这些属性就像c ++代码,需要不同的编译forms
我知道windsor,ninject,Spring.Net等,但他们都没有像postsharp自定义属性。
我正在寻找一些程序,可以让我在事件发生之前使用自己的自定义属性。
我将不胜感激任何build议。
谢谢
编辑:这个问题,具体描述这些问题,它应该支持属性之前没有被问到。 所以,请不要closures这个问题。 这不是重复的。
编辑:为什么我怕postharp? PostSharp到目前为止是最好的,但它是商业的,看起来不确定/风险大的项目使用免费版本。我们永远不知道什么时候他们可能会停止他们的免费版本。
编辑:感谢所有的投票和最喜欢的补充。 到目前为止,我已经find了这个:http: //zinject.codeplex.com/,但它是法文。 请提供更多的build议,如果任何人find其他的东西。
我们刚刚发布了Afterthought ..从文档:
事后允许开发人员后处理.NET程序集以添加无法添加到原始源代码或不方便/高效的代码。 例子包括:
- 调整你没有源代码的编译程序集必须支持/修改
- 将testing逻辑添加到程序集中以用于testing目的,这并不总是发布版本的一部分
- 在直接实现时,实现繁琐的接口或模式,阻碍编码工作的简单性。
那么,Afterthought是做什么的? 很简单,它可以让你:
- 通过修改修改<,>来创buildtypes修改,以描述您想要进行的修改
- 将属性添加到您的types中,指出要修改哪些types以及应用哪些修订
- 通过添加新属性或修改现有属性的逻辑来修改属性
- 通过添加新方法或修改现有方法的逻辑来修改方法
- 通过添加新的构造函数或修改现有构造函数的逻辑来修改构造函数
- 直接在使用现有属性/方法的types上实现接口,添加新的属性/方法,并允许Afterthought自动实现其他任何事情。configuration项目以调用Afterthought作为后期构build步骤来应用更改
CciSharp是另一种select。 像PostSharp一样,它是一个使用属性的后编译IL重写器。
一个好的select是http://www.gripper-loom.net/ 。