gpt4 book ai didi

c# - 使用Attributes为属性的set/get方法添加装饰代码

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:47 24 4
gpt4 key购买 nike

我不知道我是否在问不可能的事情,我试图通过 Google 找到我能找到的东西,但也许我没有用正确的搜索词表达我正在寻找的东西。如果它在那里,请原谅我!

我希望在执行属性的 set 方法时使用自定义属性来执行其他代码。

这是一些伪代码:

public class MyAttribute : System.Attribute{
AttributedProperty.Get(Property p){
Console.WriteLine("The value of the Property '{0}' has just been retrieved!", p.Name);
}
AttributedProperty.Set(Property p){
Console.WriteLine("The value of the Property '{0}' has just been set!", p.Name);
}
}

public class MyClass{
private string _someProperty;
[MyAttribute]
public string SomeProperty{
get{ return _someProperty;}
set{ someProperty = value;}
}

}

很少有像伪代码这样简单的东西,所以我准备做一些工作,如果可以的话,我只需要一些指导:)

谢谢!

最佳答案

Attribute 不适合这种方式,它们只是添加关于您的成员的元信息,您可以通过Reflection 读取它们。相反,您可以使用诸如 CaSTLe.Proxy 之类的东西来拦截您的方法和属性。

关于c# - 使用Attributes为属性的set/get方法添加装饰代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23075492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com