How to prevent duplicate values in enum?

前端 未结 5 559
挽巷
挽巷 2020-11-30 12:36

I wonder is there a way to prevent an enum with duplicate keys to compile?

For instance this enum below will compile

public         


        
5条回答
  •  一向
    一向 (楼主)
    2020-11-30 12:43

    public bool ValidateAllDistinct(Type enumType)
    {
        return !Enum.GetNames(enumType).All(outerName
            => Enum.GetNames(enumType).Any(innerName
                => innerName == outerName 
                    ? true 
                    : Enum.Parse(enumType, innerName) != Enum.Parse(enumType, outerName)));
    }
    

    I simple test method for your unittest.

提交回复
热议问题