温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用特性功能实现简易的AOP日志记录功能

发布时间:2020-06-27 23:37:02 来源:网络 阅读:725 作者:tb612443 栏目:编程语言
    AOP(面向切面编程,是继面向对象后的一个升级编程思维,网上有很多更为详尽、贴切的解析,不过多的赘述),直接贴代码,简单分为三步:
            1.自定义自己的特性:(属性的这里注意AttributeUsage这个属性,很重要)
                public class TestAttribute : Attribute
        {
             public void DoSomething()
                 {
                    Console.WriteLine("我是这个测试特性中的一个方法,可以通过属性的调用                             方式使用我完成类似全局日志、"+ "逻辑验证等一系列具有相同实现方式                                 的模块或者功能");
                 }
         }
                2.自定义自己的操作对象:
                    [TestAttribute] //测试对象中使用自己的定义的测试特性
public class TestObject
{

}
        3.调用自定义对象
        TestObject obj = new TestObject();
        //特性不影响逻辑代码的运行,加了特性的部分也没有正常编译至dll文件中,特性的文件都编译到metdata中
        //使用过程中需用通过反射来获取
        Type type = obj.GetType();
        if(type.IsDefined(typeof(TestAttribute),true)) //通过反射查看当前对象是否使用自定义测试特性
        {
            TestAttribute attribute = type.GetCustomAttributes(typeof(TestAttribute), true)[0] as TestAttribute;
            attribute.DoSomething();
        }
        Console.Read();
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI