我可以将字符串转换为 D 中的枚举值吗?

Can I Convert a String to an Enum Value in D?

我声明了以下使用字符串作为其基础值的枚举:

enum IssueType : string {
    STUDENT_LEAVING = "leaving",
    STUDENT_CONFLICT = "conflict",
    NEEDS_ARCHIVE = "archive",
    OTHER = "other"
}

我希望能够做到以下几点:

string s = "conflict";
IssueType type = std.conv.to!IssueType(s);

目前,只能通过为其中一个枚举值名称提供区分大小写的匹配项来将字符串转换为枚举,例如在这种情况下,将接受字符串 "STUDENT_CONFLICT",而我希望 "conflict" 被接受。

只需将字符串转换为 enum 类型。

IssueType type = cast(IssueType)s;