如何使创建类似于现有枚举的枚举在第一个定义更改时出现编译错误?

use*_*707 2 c# enums

我有一个使用外部库的C#应用​​程序。该库定义一个枚举。我在代码中创建了一个类似的枚举(一对一匹配),因此我的应用程序代码是通用的,而不与外部库耦合。我如何做到这一点,每当原始枚举更改时,我都会收到编译错误。这样,无论何时更新库,它都会引发错误,以便我也可以更新内部枚举。

// Lib definition
public enum Lib_Enum_Type
{
    Auto = 0,
    Type0 = 1,
    Type2 = 2
}

// App Definition
public enum App_Enum_Type
{
    AutoData = 0,
    Type0Data = 1,
    Type2Data = 2
}
Run Code Online (Sandbox Code Playgroud)

我期望的是,在更新库时,如果添加了元素或将值更改为Lib_Enum_Type,则应该得到编译错误,以便可以相应地更新App_Enum_Type。

Mar*_*ell 7

没有内置的方法可以做到这一点。但是,您可以在测试项目中添加一种方法,该方法可以通过反射(Enum.GetValues(typeof(Lib_Enum_Type)))验证枚举,并将其与您期望的枚举进行比较。