我有以下C#代码
class Program
{
[My]
static void Main(string[] args)
{
SomeMethod();
}
[My]
static void SomeMethod()
{
Console.WriteLine("1111");
}
}
public class MyAttribute: Attribute
{
public MyAttribute()
{
MessageBox.Show("enter");
}
~MyAttribute()
{
MessageBox.Show("leave");
}
}
属性我的仅适用于方法 Main (MyAttribute的构造函数在进入Main方法时执行,析构函数在离开时执行),但不适用于方法 SomeMethod
我需要这样的功能:在某些方法中执行代码的一部分(启动并终止进程),而不修改它们(我认为,属性可能是最好的决定)。
请帮助
答案 0 :(得分:0)
您没有以正确的方式使用这些属性:
属性应指示类或类成员的属性,并且在大多数情况下由对象的使用者使用。
通常,属性与反射一起用于获取信息:
System.Attribute[] attrs = System.Attribute.GetCustomAttributes(t);