【发布时间】:2020-05-30 02:59:33
【问题描述】:
我想运行一个方法,每次在对象上更改某些值时。
我想知道是否可以创建一个自定义属性来添加到我想要触发我的方法的值,当它们的值发生变化时。
效果:
public class Program
{
public static void Main()
{
A a = new A("Hello", true);
a.text = "Goodbye";
a.check = false;
}
}
public class A{
public string text {get; set;}
[RunMyMethod]
public bool check {get; set;}
public A(string t, bool c){
this.text = t;
this.check = c;
}
}
public class RunMyMethod : System.Attribute
{
}
我知道我只是简单地为每个字段的 Set 方法添加一些东西,但是我想在其上实现它的类相当大,而且不会很漂亮。
【问题讨论】:
-
在我看来,建议的重复答案并没有真正涵盖这个问题,因为它没有进入属性选项(可以通过 PostSharp 之类的东西)。
标签: c# custom-attributes