public void log(String msg, Color c = Color.black)
{
loggerText.ForeColor = c;
loggerText.AppendText("\n" + msg);
}
这会导致一个错误,即c必须是编译时常量。我稍微了解了一下,大部分的例子都涉及到字符串和整数。我已经想出可以使用colorconverter类,但我不确定它是否非常高效。有没有一种方法可以将基本颜色作为可选参数直接传递?
public void log(String msg, String c = "Black")
{
ColorConverter conv = new ColorConverter();
Color color = (Color)conv.ConvertFromString(c);
loggerText.ForeColor = color;
loggerText.AppendText("\n" + msg);
}
default(Color)
作为默认值,但有时这会使得无法区分默认值与有效参数值。在这种情况下,Nullable 更好一些。 - LBushkin