查看: 4110|回复: 0

[ASP.NET教程] 利用特性功能实现简易的AOP日志记录功能

发表于 2018-3-7 08:00:01
  1.     AOP(面向切面编程,是继面向对象后的一个升级编程思维,网上有很多更为详尽、贴切的解析,不过多的赘述),直接贴代码,简单分为三步:
  2.             1.自定义自己的特性:(属性的这里注意AttributeUsage这个属性,很重要)
  3.                 public class TestAttribute : Attribute
  4.         {
  5.              public void DoSomething()
  6.                  {
  7.                     Console.WriteLine("我是这个测试特性中的一个方法,可以通过属性的调用                             方式使用我完成类似全局日志、"+ "逻辑验证等一系列具有相同实现方式                                 的模块或者功能");
  8.                  }
  9.          }
  10.                 2.自定义自己的操作对象:
  11.                     [TestAttribute] //测试对象中使用自己的定义的测试特性
  12. public class TestObject
  13. {
  14. }
  15.         3.调用自定义对象
  16.         TestObject obj = new TestObject();
  17.         //特性不影响逻辑代码的运行,加了特性的部分也没有正常编译至dll文件中,特性的文件都编译到metdata中
  18.         //使用过程中需用通过反射来获取
  19.         Type type = obj.GetType();
  20.         if(type.IsDefined(typeof(TestAttribute),true)) //通过反射查看当前对象是否使用自定义测试特性
  21.         {
  22.             TestAttribute attribute = type.GetCustomAttributes(typeof(TestAttribute), true)[0] as TestAttribute;
  23.             attribute.DoSomething();
  24.         }
  25.         Console.Read();
复制代码


回复

使用道具 举报