Enum 枚举

时间:2025-02-08 21:33:51

一:

1.
foreach (int val in Enum.GetValues(typeof(AppEnum.HarbourStatus)))
{ ddlStatus.Items.Add(new ListItem(Enum.GetName(typeof(AppEnum.HarbourStatus), val), val.ToString())); } ddlStatus.Items.FindByText(AppEnum.HarbourStatus.Avtal.ToString()).Selected = true; 2.
public enum HarbourStatus
{
Ansökan = 1,
Avtal = 2,
Makulerad = 3,
Köplats = 4
}

  

二:

var errorMes = respCode < 0 ? ((ProcessorStatus)respCode).ToDisplayString() : ((RedemptionStatus)respCode).ToDisplayString();

using System;
using System.Reflection;
using System.Resources; namespace BallyACSCProvider.Util
{
internal enum ProcessorStatus : int
{
[DisplayString("Certificate Error")]
CertError = -001, //certificate error [DisplayString("Retry Time out")]
RetryOut = -002, //exceed retry time [DisplayString("Response Error")]
ResponseError = -003, //error when get response NoResponse = -004, // no response need to be checked NoResponseCode=-005, //Has response, but no response code in response ResponseOk=0, //
} internal enum StartUpStatus : int
{
[DisplayString("Success")]
Success = 000, [DisplayString("Invalid Version")]
InvalidVersion = 001, [DisplayString("Invalid Release")]
InvalidRelease = 002, [DisplayString("Invalid Corporate ID")]
InvalidCorpID = 003, [DisplayString("Invalid Poroperty ID")]
InvalidPropID = 004, [DisplayString("Unknown Kiosk")]
UnknownKiosk = 005,
} internal enum ValidationStatus : int
{
[DisplayString("Accepted")]
Accepted = 001, [DisplayString("Validate declined")]
Declined = 002,
} internal enum RedemptionStatus : int
{
[DisplayString("Accepted")]
Accepted = 001, [DisplayString("Redemption declined")]
Declined = 002,
} internal enum ProviderStatus : int
{
Startup = 1,
Terminated = 2,
} /// <summary>
/// Apply to properties or enum that are used in display description string.
/// </summary>
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = false)]
internal class DisplayStringAttribute : Attribute
{
internal DisplayStringAttribute()
{ } internal DisplayStringAttribute(string value)
{
_value = value;
} private readonly string _value;
internal string Value
{
get
{
return _value;
}
} internal string ResourceKey { get; set; }
} internal static class EnumExtensions
{
internal static string ToDisplayString(this System.Enum en)
{
Type type = en.GetType();
MemberInfo[] memInfo = type.GetMember(en.ToString()); if (memInfo.Length > 0)
{
object[] attrs = memInfo[0].GetCustomAttributes(typeof(DisplayStringAttribute), false); if (attrs.Length > 0)
{
var attr = ((DisplayStringAttribute)attrs[0]);
return !string.IsNullOrEmpty(attr.ResourceKey)
? GetStringByResourceKey(type, attr.ResourceKey)
: attr.Value;
}
} return en.ToString();
} private static string GetStringByResourceKey(Type enumType, string key)
{
if (string.IsNullOrEmpty(key))
return string.Empty; var rm = new ResourceManager(enumType);
return rm.GetString(key);
}
}
}