gpt4 book ai didi

c# - 帮助 EnumMemberAttribute?

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:10 26 4
gpt4 key购买 nike

我下面有一个枚举,我需要通过传递来引用它在 "Insured Only". 当我这样做时,它说找不到它实际枚举显示为 InsuredOnly。无论如何我可以通过正确的值,即 “Insured Only” 而不是 InsuredOnly

 public enum EnumNames  
{
Administrator,
[Description("Insured Only")]
InsuredOnly,
}

最佳答案

这里有一个方便的通用方法,可以做你想做的事:

public T Parse<T>(string description) {
foreach (FieldInfo field in typeof(T).GetFields()) {
object[] attributes = field.GetCustomAttributes(typeof(DescriptionAttribute), false);
if ((attributes.Length > 0)
&& ((DescriptionAttribute)attributes[0]).Description.Equals(description)
) return (T)field.GetRawConstantValue();
}

// use default parsing logic if no match is found
return (T)Enum.Parse(typeof(T), description);
}

使用示例:

EnumNames value = Parse<EnumNames>("Insured Only");

关于c# - 帮助 EnumMemberAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com