public void log(String msg, Color c = Color.black)
{
loggerText.ForeColor = c;
loggerText.AppendText("\n" + msg);
}
Powoduje to błąd, że c musi być stałą czasu kompilacji. Czytałem o tym trochę, a większość przykładów dotyczy ciągów i intów. Rozumiem, że mogę używać klasy colorconverter, ale nie jestem pewien, czy będzie to bardzo wydajne. Czy istnieje sposób, aby po prostu przekazać podstawowy kolor jako parametr opcjonalny?C# 4.0: Czy mogę używać koloru jako parametru opcjonalnego z wartością domyślną?
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);
}
Można również użyć 'default (Kolor)' jako wartość domyślną - ale czasami może to uniemożliwić różnicować wartość domyślną z ważnego parametru. Nullable wydają się być lepsze w tym przypadku. – LBushkin
@Bushkin: Całkowicie się z tym zgadzam! – Simon
thx .. rozwiązałem mój problem z kolorem. +1 – kplshrm7