我们有一个日志类,它有一个带参数的日志方法:
public void LogTrace(String message, params object[] parameters)
{
..
.. String.Format(message, Parameters);
当在没有参数但使用一些格式化占位符的情况下调用 LogTrace 时,.NET 约定/期望是什么?例如
LogTrace("This is a {poorly written} log message");
或者
LogTrace("This is {0} log message");
具体来说 - 您是否希望这会引发异常,或者只是按原样记录纯文本?在第一种情况下,它只记录纯文本似乎“很好”,但在第二种情况下,它可能表明您实际上忘记了一个参数。
从概念上讲,这里似乎有两种不同的功能,一种用于记录纯文本,另一种用于记录格式化消息。那么也许应该有两种不同的方法?