public void log(String msg, Color c = Color.black)
{
loggerText.ForeColor = c;
loggerText.AppendText("\n" + msg);
}
Это приводит к ошибке, которая должна быть константой времени компиляции. Я читал об этом немного, и большинство примеров имеют дело со строками и ints. Я понял, что могу использовать класс colorconverter, но я не уверен, что он будет очень эффективным. Есть ли способ просто передать базовый цвет в качестве необязательного параметра?C# 4.0: Можно ли использовать цвет как необязательный параметр со значением по умолчанию?
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);
}
Вы также можете использовать 'по умолчанию (цвет)' в качестве значения по умолчанию - но иногда это может сделать его невозможно отличить значение по умолчанию от действительного значения параметра. В этом случае, как правило, Nullable лучше. – LBushkin
@ Бушкин: Я полностью согласен с этим! – Simon
thx .. решен проблема с цветом. +1 – kplshrm7