Aquí es una función de ejemplo:¿Puedo especificar un parámetro de color predeterminado en C# 4.0?
public void DrawSquare(int x, int y, Color boxColor = Color.Black)
{
//Code to draw the square goes here
}
El compilador me mantiene dando el error: Default parameter value for 'boxColor'must be a compile-time constant
He tratado
Color.Black,
Color.FromKnownColor(KnownColor.Black), and
Color.FromArgb(0, 0, 0)
¿Cómo hago Color.Black sea el color por defecto? Además, no quiero usar una cadena Black
para especificarla (que sé que funcionaría). Quiero el valor Color.Black
.
Lo tenía en mi respuesta, pero si va a especificar un argumento nulo, ¿por qué no especifica Color.Black? :) –
@George: "Color.Black es una estática, no una constante". – Vlad
El color es una estructura, por lo que si usaras el tipo Nullable como tipo (o en C# Color? Para abreviar), entonces puede ser nulo. –