C# 如何告诉方法在调用时使用特定常量?
我正在尝试构建一个日志函数。 我的类看起来有点像这样(伪代码): 我想调用方法日志并告诉它应该在日志中写入哪个触发器常量C# 如何告诉方法在调用时使用特定常量?,c#,function,variables,C#,Function,Variables,我正在尝试构建一个日志函数。 我的类看起来有点像这样(伪代码): 我想调用方法日志并告诉它应该在日志中写入哪个触发器常量 实现这一点的最佳方法是什么?您应该使用日志库,但如果您只是在试验,并且希望自己实现它,请使用枚举 public enum LogLevel { Warning, Info } Log(LogLevel.Info); public void Log(LogLevel level) { ... } 您可以执行大多数日志库的操作,并在API中显式显示: pub
实现这一点的最佳方法是什么?您应该使用日志库,但如果您只是在试验,并且希望自己实现它,请使用枚举
public enum LogLevel {
Warning,
Info
}
Log(LogLevel.Info);
public void Log(LogLevel level) {
...
}
您可以执行大多数日志库的操作,并在API中显式显示:
public class Logger
{
private const string Warn = "Warn";
private const string Info = "Info";
public LogInfo(string message)
{
Log(Info, message);
}
public LogWarn(string message)
{
Log(Warn, message);
}
private Log(string trigger, string message)
{
// do something
}
}
作为另一个选项,您可以选择公开上面的
私有日志
方法作为公共API的一部分。在这种情况下,我将把LogLevel提取为枚举,并将其用作触发器参数,而不是使用字符串您如何决定使用哪条消息?代码中不清楚。请使用log4net之类的日志库。详细信息是自动提供的(作为输出和日志级别),比常量字符串有用得多。log(Trigger1)代码>或日志(触发器2)代码>创建两个变量:public voidLogWarning(string Trigger)
和LogError(string Trigger)
,并使用适当的常量也是一个很好的日志记录实用程序。您可以使用许多“接收器”(控制台、滚动文件、电子邮件等),您还可以调用level参数上的ToString来获取字符串值。(“警告”和“信息”)
public class Logger
{
private const string Warn = "Warn";
private const string Info = "Info";
public LogInfo(string message)
{
Log(Info, message);
}
public LogWarn(string message)
{
Log(Warn, message);
}
private Log(string trigger, string message)
{
// do something
}
}