相关疑难解决方法(0)

在switch语句中针对枚举进行编程,这是你的方法吗?

看一下代码片段:

这是我在编写枚举时通常所做的事情.我有一个带有InvalidOperationException的默认转义(我不使用ArgumentException或它的一个派生,因为编码是针对私有实例字段而不是传入参数).

我想知道你们的开发人员是否也编写了这个逃避的想法....

public enum DrivingState {Neutral, Drive, Parking, Reverse};

public class MyHelper
{
    private DrivingState drivingState = DrivingState.Neutral;

    public void Run()
    {
        switch (this.drivingState)
        {
            case DrivingState.Neutral:
                DoNeutral();
                break;
            case DrivingState.Drive:
                DoDrive();
                break;
            case DrivingState.Parking:
                DoPark();
                break;
            case DrivingState.Reverse:
                DoReverse();
                break;
            default:
                throw new InvalidOperationException(
                    string.Format(CultureInfo.CurrentCulture, 
                    "Drivestate {0} is an unknown state", this.drivingState));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在代码审查中,我遇到了许多在默认转义中只有break语句的实现.这可能是一个问题随着时间的推移....

.net c#

10
推荐指数
3
解决办法
6852
查看次数

标签 统计

.net ×1

c# ×1