如何创建具有多个条件的Object

Ray*_*ink 0 c# properties object visual-studio-2010 conditional-statements

我想创建一个具有多个状态的类对象,每次只能有一个状态.例如:

班级飞机有三个条件:飞行,驾驶,站立

我喜欢这样的条件:

Plane boeing747 = new Plane;

boeing747.State = flying
Run Code Online (Sandbox Code Playgroud)

要么

boeing747.State.flying = true;

if(boeing747.State.flying == true); 
    console.writeline("it flyes");
else if(boeing747.State.driving == true)
    console.writeline("it drives");
else
    console.writeline("nothing goes");
// console reads: "it flyes"

boeing747.State.driving = true;
if(boeing747.State.flying == true); 
    console.writeline("it flyes");
else if(boeing747.State.driving == true)
    console.writeline("it drives");
else
    console.writeline("nothing goes");
// console reads: "it drives"
Run Code Online (Sandbox Code Playgroud)

C.E*_*uis 6

您可以使用枚举:

public enum PlaneState
{
    Flying,
    Driving,
    Standing,
}
Run Code Online (Sandbox Code Playgroud)

在你的班上:

public PlaneState State
{
    get; 
    set; 
}
Run Code Online (Sandbox Code Playgroud)