BSF.Aop-静态Aop织入框架

  • 授权协议:Apache
  • 开发厂商:未知
  • 开发语言:csharp
  • 收录时间:2020-11-25
  • 操作系统:Windows,Linux,OS X
  • 软件作者:chejiangyi
  • 开源标签: BSFAop

软件介绍

.Net 免费开源,静态 Aop 织入(直接修改 IL 中间语言)框架,类似 PostSharp (收费); 实现前后 Aop 切面和 INotifyPropertyChanged 注入方式。

.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 车江毅

上一篇:MSBuild-VisualStudio的生成系统

下一篇:QcloudSharp-非官方腾讯云API.Net封装

相关阅读

查看更多 >