python 怎么封装枚举类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 怎么封装枚举类型相关的知识,希望对你有一定的参考价值。
typedef enum fft_connection_profile_attr_key_e
fft_connection_profile_attr_key_proxy_uname, /* proxy username, value should be of type char* */
fft_connection_profile_attr_key_proxy_password, /* proxy password, value should be of type char* */
fft_connection_profile_attr_key_proxy_str, /* proxy string, which is proxy hostname or IP address,
* value should be of type char* */
fft_connection_profile_attr_key_connection_timeout_sec, /* connection timeout in seconds, unsigned int */
fft_connection_profile_attr_key_read_timeout_sec, /* read timeout in seconds, unsigned int */
fft_connection_profile_attr_key_t;
c#枚举类型操作方法总结-1
关于枚举类型用法总结两点,分享如下:
1. 根据枚举值获取枚举值的描述信息,可以封装一个方法供调用:
// enumValue是传入的枚举值
public string GetEnumDescrption(Enum enumValue)
{
string value = enumValue.ToString();
FieldInfo field = enumValue.GetType().GetField(value);
object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute),false);//获取描述属性
//当描述没有时直接返回名称
if (objs ==null || objs.Length ==0)
{
return value;
}
DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
return descriptionAttribute.Description;
}
枚举类型是:
public enum EnumSex
{
/// <summary>
/// 男
/// </summary>
[Description("男")]
Male = 0,
/// <summary>
/// 女
/// </summary>
[Description("女")]
Female = 1
}
调用方法如下:
以控制台程序为例-
Program program = new Program();
string sex = program.GetEnumDescrption(EnumSex.Female);//sex ="女"
Console.WriteLine(sex);
2.for循环获取枚举值描述信息:
枚举类型如下:
public enum days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
调用方法如下:
Type week = typeof(days);
Array Arrays = Enum.GetValues(week);
for (int i = 0; i < Arrays.LongLength; i++)
{
Console.WriteLine(Arrays.GetValue(i));
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
以上是关于python 怎么封装枚举类型的主要内容,如果未能解决你的问题,请参考以下文章