pis*_*hio 5 c# reflection attributes
我创建了一个简单的属性:
[AttributeUsage(AttributeTargets.Method)]
public class InitAttribute : System.Attribute
{
public InitAttribute()
{
Console.WriteLine("Works!");
}
}
Run Code Online (Sandbox Code Playgroud)
我将它应用于一个简单的方法:
static class Logger
{
public static string _severity;
public static void Init(string severity)
{
_severity = severity;
}
[Init()]
public static void p()
{
Console.WriteLine(_severity);
}
}
Run Code Online (Sandbox Code Playgroud)
发生了什么是非常好的前进.只是,我希望该属性执行一个动作(打印Works!),但这不会发生.
上瘾,打印"作品!" 当然只是出于调试目的:我想访问实例的属性_severity(例如,检查是否是!= null),但我一直在阅读的有关属性的内容(对我来说很新)是关于访问的通过反思,类的方法或属性等.一旦我评估了_severity,我如何修改修饰方法的行为(在这种情况下,引发异常"Logger未初始化"并且不执行它)?
任何帮助赞赏.