相关疑难解决方法(0)

枚举的字符串表示形式

我有以下枚举:

public enum AuthenticationMethod
{
    FORMS = 1,
    WINDOWSAUTHENTICATION = 2,
    SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)

然而问题是,当我要求AuthenticationMethod.FORMS而不是id 1时,我需要"FORMS"这个词.

我找到了以下解决此问题的方法(链接):

首先,我需要创建一个名为"StringValue"的自定义属性:

public class StringValue : System.Attribute
{
    private readonly string _value;

    public StringValue(string value)
    {
        _value = value;
    }

    public string Value
    {
        get { return _value; }
    }

}
Run Code Online (Sandbox Code Playgroud)

然后我可以将此属性添加到我的枚举器:

public enum AuthenticationMethod
{
    [StringValue("FORMS")]
    FORMS = 1,
    [StringValue("WINDOWS")]
    WINDOWSAUTHENTICATION = 2,
    [StringValue("SSO")]
    SINGLESIGNON = 3
}
Run Code Online (Sandbox Code Playgroud)

当然我需要一些东西来检索StringValue:

public static class StringEnum
{
    public static string GetStringValue(Enum value)
    { …
Run Code Online (Sandbox Code Playgroud)

c# enums

897
推荐指数
19
解决办法
75万
查看次数

本地化枚举描述属性

在.net中本地化枚举描述的最佳方法是什么?

(请参阅为枚举描述示例添加枚举常量的描述)

理想情况下,我想要使用ResourceManager和资源文件的东西,以便它适合应用程序的其他区域的本地化.

.net c# enums localization

36
推荐指数
3
解决办法
3万
查看次数

显示枚举的文本

HI
,我有以下枚举

public enum Priority : byte 
    {
        A=1,
        B+ = 2,
        B=4,
        C=8,
        D=16,
        E=32
    }
Run Code Online (Sandbox Code Playgroud)

我想添加B+枚举,但它给了我错误

.net c# enums c#-4.0

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×3

enums ×3

.net ×2

c#-4.0 ×1

localization ×1