博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postSharp,INotifyPropertyChanged的AOP植入
阅读量:6149 次
发布时间:2019-06-21

本文共 1494 字,大约阅读时间需要 4 分钟。

postSharp,INotifyPropertyChanged的AOP植入

using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using PostSharp.Aspects;using PostSharp.Aspects.Advices;using PostSharp.Extensibility;namespace U1City.Infrastructure.MVP{    [Serializable]    [IntroduceInterface(typeof(INotifyPropertyChanged), OverrideAction = InterfaceOverrideAction.Ignore)]    public class NotifyPropertyChangedAttribute : InstanceLevelAspect, INotifyPropertyChanged    {        [OnLocationSetValueAdvice, MulticastPointcut(Targets = MulticastTargets.Property)]        public void OnValueChanged(LocationInterceptionArgs args)        {            var current = args.GetCurrentValue();            if ((args.Value != null && (!args.Value.Equals(current)))                || (current != null && (!current.Equals(args.Value))))            {                args.ProceedSetValue();                this.OnRaisePropertyChange(args.Location.Name);            }        }        #region INotifyPropertyChanged 成员        [IntroduceMember(IsVirtual = true, OverrideAction = MemberOverrideAction.Ignore)]        public event PropertyChangedEventHandler PropertyChanged;        protected void OnRaisePropertyChange(string property)        {            if (PropertyChanged != null)            {                PropertyChanged.Invoke(this.Instance, new PropertyChangedEventArgs(property));            }        }        #endregion    }}

 

 

转载于:https://www.cnblogs.com/xmyy/articles/3458175.html

你可能感兴趣的文章
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
1、块:ion-item
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>
jQuery.on() 函数详解
查看>>
谈缓存和Redis
查看>>
【转】百度地图api,根据多点注标坐标范围计算地图缩放级别zoom自适应地图
查看>>
用户调研(补)
查看>>