我的位掩码的错误代码与字符串表示和一个二进制INT表示一个枚举:F#哈希码枚举转换
type ErrorCodes =
| NoError = 0
| InvalidInputError = 1
| AuthenticationFailedError = 2
| InvalidArgumentError = 4
| ItemNotFoundError = 8
| UnknownError = 16
正如我通过程序运行,我通过使用收集的所有错误按位或运算符(|||)。所以现在我有一些看起来像01100的东西。我怎样才能打印到控制台:“InvalidArgumentError”和“ItemNotFoundError?”
我刚刚使用的一个想法:
for i = 0 to 32 do
if ((err.GetHashCode() % 2) = 1) then
Console.WriteLine("ErrorCode: {0}",err.GetHashCode())
但现在我如果您装点您的ErrorCodes
型与System.Flags
属性,那么.ToString
将格式化我被困在如何打印的实际字符串