54 lines
1.0 KiB
C#
54 lines
1.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace ANXStatusComparer.Data
|
|
{
|
|
public class EnumData
|
|
{
|
|
#region Public
|
|
/// <summary>
|
|
/// The type of the enumeration.
|
|
/// </summary>
|
|
public Type Handle
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public List<string> Names
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public string[] Values
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
#endregion
|
|
|
|
#region Constructor
|
|
/// <summary>
|
|
/// Create a new enumeration data holder.
|
|
/// </summary>
|
|
/// <param name="setType">Type of the enumeration.</param>
|
|
public EnumData(Type setType)
|
|
{
|
|
Handle = setType;
|
|
Array enumValues = Enum.GetValues(Handle);
|
|
Type underlyingType = Enum.GetUnderlyingType(Handle);
|
|
|
|
Values = new string[enumValues.Length];
|
|
Names = new List<string>();
|
|
for (int index = 0; index < Values.Length; index++)
|
|
{
|
|
object value = enumValues.GetValue(index);
|
|
Names.Add(value.ToString());
|
|
Values[index] = Convert.ChangeType(value, underlyingType).ToString();
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|