阅读量:0
在C#中,可以使用Attribute来实现日志记录功能。以下是一个简单的示例:
- 首先,创建一个自定义的Attribute类,用来标记需要记录日志的方法或类:
[AttributeUsage(AttributeTargets.Method)] public class LogAttribute : Attribute { public LogAttribute() { } }
- 在需要记录日志的方法上添加LogAttribute标记:
public class MyClass { [Log] public void MyMethod() { // 日志记录逻辑 Console.WriteLine("MyMethod is called"); } }
- 创建一个日志记录器类,用来实现日志记录逻辑:
public class Logger { public void Log(string message) { Console.WriteLine($"[LOG] {message}"); } }
- 在程序中进行日志记录逻辑的调用:
class Program { static void Main(string[] args) { MyClass myClass = new MyClass(); MethodInfo method = typeof(MyClass).GetMethod("MyMethod"); if (method.GetCustomAttributes(typeof(LogAttribute), true).Length > 0) { Logger logger = new Logger(); logger.Log("Method MyMethod is called."); } myClass.MyMethod(); } }
通过以上步骤,就可以使用Attribute实现日志记录功能。在程序中,通过检查标记了LogAttribute的方法,然后调用日志记录器类进行日志记录。