在C#中,可以使用Attribute来实现日志记录功能。以下是一个简单的示例:
[AttributeUsage(AttributeTargets.Method)]
public class LogAttribute : Attribute
{
public 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的方法,然后调用日志记录器类进行日志记录。