public class ClassA
{
public string Name
{
get;
set;
}
public string Value
{
get;
set;
}
public void Update()
{
//哪个属性更改了打印出哪个属性名
}
}
var obj=new ClassA();
obj.Name="test";
obj.Update();//不更改ClassA的属性结构实现Update方法,不能以字符串形式传参
===================================
使用AOP解决了,但是有新的问题
[Attribute.ModelProxy]
public abstract class IModel : ContextBoundObject,ICloneable
var menu = new Menu() { Name = "ssss" };
dic.Add(menu, new List<CRL.RoleAuthorize.Menu>());
bool a = dic.ContainsKey(menu);
a为false 对象放到字典后就找不到了
采用 AOP,记录属性值的修改。
AOP,我试试
一种是楼上的 AOP拦截方式记录
二种是反射类型的属性,比较每个属性的值,有修改的就打印
比较值会遇到默认值的问题比如int 0也是0,不设也是0
@hubro:默认值没关系吧,都是0就是没有变化呀
http://www.codeproject.com/Articles/35368/AOP-Implementation-of-INotifyPropertyChanged
FYI