利用特性功能实现简易的AOP日志记录功能-创新互联
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();
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了广宗免费建站欢迎大家使用!标题名称:利用特性功能实现简易的AOP日志记录功能-创新互联
文章地址:http://scpingwu.com/article/diojoh.html