J'ai une énumération
string name;
public enum Color
{
Red,
Green,
Yellow
}
Comment le définir sur NULL au chargement.
name = "";
Color color = null; //error
Édité: Mon mal, je ne l'ai pas expliqué correctement. Mais toutes les réponses liées à nullable sont parfaites. Ma situation est que se passe-t-il si, j'ai obtenu / défini l'énumération dans une classe avec d'autres éléments comme nom, etc. Au chargement de la page, j'initialise la classe et j'essaie de mettre par défaut les valeurs à null. Voici le scénario (le code est en C #):
namespace Testing
{
public enum ValidColors
{
Red,
Green,
Yellow
}
public class EnumTest
{
private string name;
private ValidColors myColor;
public string Name
{
get { return name; }
set { name = value; }
}
public ValidColors MyColor
{
get { return myColor; }
set { myColor = value; }
}
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
EnumTest oEnumTest = new EnumTest();
oEnumTest.Name = "";
oEnumTest.MyColor = null; //???
}
}
}
Ensuite, en utilisant les suggestions ci-dessous, j'ai changé le code ci-dessus pour le faire fonctionner avec les méthodes get and set. J'ai juste besoin d'ajouter "?" dans la classe EnumTest lors de la déclaration de la variable enum privée et dans la méthode get / set:
public class EnumTest
{
private string name;
private ValidColors? myColor; //added "?" here in declaration and in get/set method
public string Name
{
get { return name; }
set { name = value; }
}
public ValidColors? MyColor
{
get { return myColor; }
set { myColor = value; }
}
}
Merci à tous pour les belles suggestions.