如下一个枚举:
1 /// <summary>
2 /// 交通方式
3 /// </summary>
4 public enum TransportType
5 {
6 [Img("/images/Airplane.jpg")]
7 飞机=1,
8 [Img("/images/Car.jpg")]
9 汽车=2,
10 [Img("/images/Train.jpg")]
11 火车=3,
12 [Img("/images/Ship.jpg")]
13 轮船=4,
14 [Img("/images/Foot.jpg")]
15 步行=5,
16 [Img("/images/Bike.jpg")]
17 自行车=6
18 }
请哪位大侠详细介绍下。
通过一下途径可以看到:
static void Main(string[] args)
{
bool isUsed = false;
Type t = typeof(TransportType);
//获取所有的字段信息
FieldInfo[] f = t.GetFields();
//遍历每个字段;
for (int i = 0; i < f.Length; i++)
{
//获取每个字段上所有的 Attribute
var attr = f[i].GetCustomAttributes(false);
//查看每个字段上应用的所有Attribute
foreach (Attribute a in attr)
{
//判断Attribute 中是否 为 ImgAttribute
if (a is ImgAttribute)
{
isUsed = true;
}
}
}
Console.Read();
}
可以看下老赵写的:一个利用扩展方法的实例:AttachDataExtensions
这篇文章提出了一种更好更直观的方法来获取及管理枚举的attribute
不错,学习了