相关疑难解决方法(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万
查看次数

使用用户友好的字符串枚举ToString

我的枚举包含以下值:

private enum PublishStatusses{
    NotCompleted,
    Completed,
    Error
};
Run Code Online (Sandbox Code Playgroud)

我希望能够以用户友好的方式输出这些值.
我不需要能够再次从字符串变为值.

c# enums tostring

265
推荐指数
12
解决办法
24万
查看次数

覆盖枚举的Tostring()以适应运行时字符串更改

我有这样的枚举

enum Animal:byte
{
Cat=0,
Dog=1,
Horse=2
}
Run Code Online (Sandbox Code Playgroud)

我想覆盖ToString()它来编写一个自定义字符串,因为我的应用程序是一个多语言的(Cat.ToString()应该检索cat的翻译单词).所以Descriptionkeyowrd不能在这里使用.任何人都给我一个提示,找到一个简洁的方法来解决这个问题?

c# enums

5
推荐指数
0
解决办法
2万
查看次数

标签 统计

c# ×3

enums ×3

tostring ×1