C# uld为此制定扩展方法。我已经发布了一个例子。希望有帮助。.ToDescription()似乎不存在。也许这是指的代码从? public enum category { goodBoy=1, BadBoy } public enum ca
uld为此制定扩展方法。我已经发布了一个例子。希望有帮助。C# uld为此制定扩展方法。我已经发布了一个例子。希望有帮助。.ToDescription()似乎不存在。也许这是指的代码从? public enum category { goodBoy=1, BadBoy } public enum ca,c#,C#,uld为此制定扩展方法。我已经发布了一个例子。希望有帮助。.ToDescription()似乎不存在。也许这是指的代码从? public enum category { goodBoy=1, BadBoy } public enum category { Good Boy=1, Bad Boy } status = StatusLevel.CRITICAL; // this is a lot easier to read... status = 5;
.ToDescription()
似乎不存在。也许这是指的代码从?
public enum category
{
goodBoy=1,
BadBoy
}
public enum category
{
Good Boy=1,
Bad Boy
}
status = StatusLevel.CRITICAL; // this is a lot easier to read...
status = 5; // ...than this
myDict["Bad Boy"] = "joe blow";
public enum category
{
good_Boy=1,
Bad_Boy
}
using System.ComponentModel.DataAnnotations;
public enum Boys
{
[Display(Name="Good Boy")]
GoodBoy,
[Display(Name="Bad Boy")]
BadBoy
}
public class EnumExtention
{
public Dictionary<int, string> ToDictionary(Enum myEnum)
{
var myEnumType = myEnum.GetType();
var names = myEnumType.GetFields()
.Where(m => m.GetCustomAttribute<DisplayAttribute>() != null)
.Select(e => e.GetCustomAttribute<DisplayAttribute>().Name);
var values = Enum.GetValues(myEnumType).Cast<int>();
return names.Zip(values, (n, v) => new KeyValuePair<int, string>(v, n))
.ToDictionary(kv => kv.Key, kv => kv.Value);
}
}
Boys.GoodBoy.ToDictionary()
public enum MyEnum
{
My_Word,
Another_One_With_More_Words,
One_More,
We_Are_Done_At_Last
}
internal class Program
{
private static void Main(string[] args)
{
IEnumerable<MyEnum> values = Enum.GetValues(typeof(MyEnum)).Cast<MyEnum>();
List<string> valuesWithSpaces = new List<string>(values.Select(v => v.ToString().Replace("_", " ")));
foreach (MyEnum enumElement in values)
Console.WriteLine($"Name: {enumElement}, Value: {(int)enumElement}");
Console.WriteLine();
foreach (string stringRepresentation in valuesWithSpaces)
Console.WriteLine(stringRepresentation);
}
}
using System.ComponentModel;
public enum category
{
[Description("Good Boy")]
goodboy,
[Description("Bad Boy")]
badboy
}
using System.ComponentModel.DataAnnotations;
public enum Boys
{
[Description("Good Boy")]
GoodBoy = 1,
[Description("Bad Boy")]
BadBoy = 2
}
var enumValue = Boys.GoodBoy;
string stringValue = enumValue.ToDescription();
public enum MyEnum { With_Space, With_Two_Spaces } //I store spaces as underscore. Actual values are 'With Space' and 'With Two Spaces'
public MyEnum[] arrayEnum = (MyEnum[])Enum.GetValues(typeof(MyEnum));
string firstEnumValue = String.Concat(arrayEnum[0].ToString().Replace('_', ' ')) //I get 'With Space' as first value
string SecondEnumValue = String.Concat(arrayEnum[1].ToString().Replace('_', ' ')) //I get 'With Two Spaces' as second value
string.Join(" ", Regex.Split(v.ToString(), @"(?<!^)(?=[A-Z])"));
var values = Enum.GetValues(typeof(Category));
var ret = new Dictionary<int, string>();
foreach (Category v in values)
{
ret.Add((int)v, string.Join(" ", Regex.Split(v.ToString(), @"(?<!^)(?=[A-Z])")));
}
internal enum TravelClass
{
[Description("Economy With Restrictions")]
EconomyWithRestrictions,
[Description("Economy Without Restrictions")]
EconomyWithoutRestrictions
}
internal static class Extensions
{
public static string ToDescription(this Enum value)
{
FieldInfo field = value.GetType().GetField(value.ToString());
DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
return attribute == null ? value.ToString() : attribute.Description;
}
}
var enumValue = TravelClass.EconomyWithRestrictions;
string stringValue = enumValue.ToDescription();