.Net 免费开源,静态 Aop 织入(直接修改 IL 中间语言)框架,类似 PostSharp (收费); 实现前后 Aop 切面和 INotifyPropertyChanged 注入方式。
描述:
项目结构扩展自 BSF 基础架构,但 dll 方面并不依赖 BSF.dll,可以独立开发使用。
项目代码量少(也就几个类文件),核心功能插件化开发,便于第三方扩展,阅读,调试,一起来完善。
.net Aop 静态织入相关的免费开源项目比较少或暂未听闻,故希望开源这块内容,成为同类型开源项目的起点和借鉴。
示例代码:
1) 前后 Aop 切面示例 (详细参考 BSF.Aop.Test 项目)
public class AroundAopTest { [MyAroundAop] [AttributeInfo(Des = "测试2")] public void Method(TempInfo info, out int b,int a=1) { a = 222; b = 3; System.Console.WriteLine("Hello world!"+a); } } public static class AroundAopTest2 { [MyAroundAop][AttributeInfo(Des ="测试")] public static void Method2(TempInfo info, int a = 1) { a = 222; System.Console.WriteLine("Hello world!" + a); } } public class MyAroundAop : Aop.Attributes.Around.AroundAopAttribute { public MyAroundAop() { } public override void Before(AroundInfo info) { var att = info.Method.CustomAttributes.ToList()[0]; info.Params["a"] = 55; System.Console.WriteLine("before" + info.Params["a"]); } public override void After(AroundInfo info) { System.Console.WriteLine("after"+ info.Params["a"]); } } public class TempInfo { public int T1 { get; set; } } public class AttributeInfo : System.Attribute { public string Des { get; set; } }
2) INotifyPropertyChanged 示例(暂未测试真正使用效果,详细参考 BSF.Aop.Test 项目 )
[NotifyPropertyChangedAop]
public class User { public string Name { get; set; } public int Age { get; set; } [NoAop] public int B { get; set; } }
by 车江毅
我正在将WebLogic Server 11g(10.3.6.0)升级到12c(12.2.1.3.0)。 我在12c服务器上没有问题地安装了war文件。然后,我尝试启动模块。由于缺少特定的类文件,我得到了错误。似乎该类文件属于“spring-aop-2.5.2.jar.” 当我在WebLogic Server 11g环境中部署相同的war文件时,我没有发现任何问题。我确保war文件中存在“spri
我不得不承认,随着iOS8的发布,我对iOS中的动态和静态框架有点困惑。 我正在寻找一种方法来分发我创建的库,我需要支持iOS7和更高版本。(注意:这将是一个专有的框架。我不能使用可可荚,我也不能分发源代码)。下面是我已经知道的: iOS 8为iOS引入了“嵌入式框架”,但据我所知,它们不适用于iOS 7,仅适用于iOS 8及以上版本。 我可以选择将我的库作为静态库(.a文件)分发,还可以分发头。
在 JDK 1.5 之后增加了一种静态导入的语法,用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接使用 import static 的方式导入。 静态导入使用 import static 语句,静态导入也有两种语法,分别用于导入指定类的单个静态成员变量、方法和全部静态成员变量、方法,其中导入指定类的单
本文向大家介绍实例详解BootStrap的动态模态框及静态模态框,包括了实例详解BootStrap的动态模态框及静态模态框的使用技巧和注意事项,需要的朋友参考一下 1.要用bootStrap这个框架就必须要重载它的class类,也就是说class要一样 代码如下: 有疑问的可以在下面留言,欢迎大家一起交流 1.1动态模态框 1.2静态模态框 总结 以上所述是小编给大家介绍的BootStrap的动态
Play框架的主要功能是提供动态响应的内容。但一个网络项目中必然有大量的静态内容,比如图片、Javascript文件、CSS文件等。我下面介绍如何在Play项目中加入静态文件。 默认路径 Play项目的静态文件一般存储在根目录下的public文件夹。新建Play项目时,routes文件会有下面的默认记录: # Map static resources from the /public folder
问题内容: 静态导入是什么意思,例如: 如何定义这样的软件包?使用静态导入有什么优势? 问题答案: 表示您可以引用静态值而无需使用类名。 例如,考虑以下三个类: