나는 열거 형이있다
string name;
public enum Color
{
Red,
Green,
Yellow
}
로드시 NULL로 설정하는 방법
name = "";
Color color = null; //error
편집 : 내 나쁜, 나는 제대로 설명하지 않았다. 그러나 nullable과 관련된 모든 대답은 완벽합니다. 내 상황은 이름과 같은 다른 요소가있는 클래스에서 열거 형에 대해 가져 오거나 설정 한 경우입니다. 페이지로드에서 클래스를 초기화하고 기본값을 null로 설정하려고합니다. 시나리오는 다음과 같습니다 (코드는 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; //???
}
}
}
그런 다음 아래 제안을 사용하여 get 및 set 메소드와 작동하도록 위의 코드를 변경했습니다. "?"만 추가하면됩니다. 개인 열거 형 변수 선언 중 EnumTest 클래스 및 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; }
}
}
멋진 제안에 감사드립니다.