我想创建一个属性来放置属性。
将包含此属性的属性将在设置新值后执行另一个方法。
例如:
[MethodExecute(Log)]
[MethodExecute(Save)]
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
这里我想激活两种方法,一种记录更改,另一种保存它。
谢谢, 罗尼
最佳答案
我相信你可以在 PostSharp 中做到这一点.不幸的是,您需要将方法名称指定为字符串 - C# 中没有将方法名称解析为 MethodInfo
的运算符,尽管它已被多次提出。
如果您需要代码在 setter(而不是 getter)之后执行仅,您可能需要移动属性:
public string Name
{
get;
[MethodExecute("Log")] [MethodExecute("Save")] set;
}
(为简单起见,这使用自动实现的属性。)
关于C# 创建指示属性调用后运行代码的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1431363/