【发布时间】:2014-11-03 09:40:34
【问题描述】:
我的每个模型都有一些自定义属性,如下所示
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class FieldAttribute : System.Attribute
{
private FieldFor _fieldFor;
public FieldAttribute(FieldFor fieldFor)
{
_fieldFor = fieldFor;
}
}
FieldFor 类型是一个枚举。所以我可以针对这样的字段声明这一点
[Field(FieldFor.Name)]
public string Name { get; set; }
现在要获取我的模型上具有此自定义属性的属性列表,我使用以下内容
List<PropertyInfo> props = new MyModel().GetType().GetProperties().Where(prop => Attribute.IsDefined(prop, typeof(FieldAttribute))).ToList<PropertyInfo>();
现在我有了所有具有我的自定义属性的属性的列表,我怎样才能得到哪个属性的 FieldFor 值为 Name??
我分别进行这两个查询,因为我必须获取模型上许多属性的值
【问题讨论】: