public void log(String msg, Color c = Color.black)
{
loggerText.ForeColor = c;
loggerText.AppendText("\n" + msg);
}
Ciò genera un errore che c deve essere una costante in fase di compilazione. Ho letto un po 'su questo argomento e molti esempi hanno a che fare con stringhe e intarsi. Ho capito che posso usare la classe colorconverter ma non sono sicuro che sarà molto efficiente. C'è un modo per passare semplicemente un colore di base come parametro opzionale?C# 4.0: Posso usare un Colore come parametro opzionale con un valore predefinito?
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);
}
È inoltre possibile utilizzare 'default (a colori)' come valore di default - ma a volte questo può comportare l'impossibilità di distinguere un valore predefinito da un valore di parametro valido. Nullabile tende ad essere migliore in questo caso. – LBushkin
@Bushkin: sono assolutamente d'accordo! – Simon
thx .. risolto il mio problema con il colore. +1 – kplshrm7