功能属性C#
在C#中,如何使用属性本身或属性作为某种形式反射的标记来注入代码功能属性C#,c#,properties,attributes,aop,C#,Properties,Attributes,Aop,在C#中,如何使用属性本身或属性作为某种形式反射的标记来注入代码 [AttributeUsage(AttributeTargets.Property, Inherited = true)] public class AddMessage : Attribute { public AddMessage() { //... } } 例如,使用AddMessage可以从如下内容操作auto属性 [AddMessage] public int Count { g
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
public class AddMessage : Attribute
{
public AddMessage()
{
//...
}
}
例如,使用AddMessage
可以从如下内容操作auto属性
[AddMessage]
public int Count { get; set; } = 0;
看起来像这样的东西
private int count;
public int Count {
get {
return count;
}
set {
count = value;
Console.WriteLine("Setter Message");
}
}
//Somewhere else
count = 0;
你可以试试这个框架。它的一般方法是在编译程序集(“编织”)后根据其中的内容修改程序集。我不喜欢它完全是“元”而不是代码本身的一部分,但它可以做一些本来不可能的事情
该模块按照您想要执行的操作进行查看,否则您可能会编写自己的模块。您不能使用属性,但可以使用AOP。你需要像OnExit方面或OnSetValue@ThomasWeller这样的东西谢谢你的链接,但由于价格原因,我很想避免发布sharp