在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的方法,然后調用日志記錄器類進行日志記錄。