Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用返回枚举类型作为响应的方法改进库的最佳方法_.net_Design Patterns_Architecture - Fatal编程技术网

.net 使用返回枚举类型作为响应的方法改进库的最佳方法

.net 使用返回枚举类型作为响应的方法改进库的最佳方法,.net,design-patterns,architecture,.net,Design Patterns,Architecture,我有一个.NET库,我必须改进它 它有一些将枚举作为响应返回的方法。 例如: //v1.0 public enum Vehicle { Truck, Mini, Superbike } public Vehicle getCar(){ ... return Vehicle.XXX; } 在版本2.0中,我想定义更多的车辆,因此它得到如下内容: //v 2.0

我有一个.NET库,我必须改进它

它有一些将枚举作为响应返回的方法。 例如:

    //v1.0
    public enum Vehicle
    {
        Truck,
        Mini,
        Superbike
    }

    public Vehicle getCar(){
        ...
        return Vehicle.XXX;
    }
在版本2.0中,我想定义更多的车辆,因此它得到如下内容:

   //v 2.0
    public enum Vehicle
    {
        Truck,
        Mini,
        Superbike,
        WaterBike
    }

    public Vehicle getCar(){
        ...
        return Vehicle.XXX;
    }
许多其他应用程序正在使用这个库,所以我不想向后破坏兼容性。 我需要将所有应用程序中的库从1.0迁移(只是替换)到2.0,而不破坏任何东西。考虑到getCar()方法将返回一个新类型,应用程序中的旧代码将无法理解这一点


你打算如何发展图书馆?这是一个设计问题。

旧代码不必理解新的枚举类型


如果旧代码检查卡车的枚举类型并得到类似于水的结果,那么它将不会像得到Mini一样对其执行操作。

您确定吗?