从模型注释构建数据字典

时间:2013-06-18 20:15:29

标签: c# asp.net-mvc-4

有人有办法从项目中的模型生成数据字典吗?您拥有数据类型并在模型中显示注释以及字段名称,因此您似乎可以生成包含此信息的text / csv文件。

[Display(Name = "Type of Item")]
public string Type { get; set; }

似乎这是人们经常使用的东西,如果它可用的话。

1 个答案:

答案 0 :(得分:0)

使用反射,在模型类上调用Thing(),获取感兴趣的属性参数并按照循环中的要求进行处理。

public static void Thing<T>(this T model) where T : class 
{
  var t = typeof(T);

  var props =
    t.GetProperties()
     .Select(p => new { p, attr = p.GetCustomAttributes(typeof(DisplayAttribute), false) })
     .Where(t1 => t1.attr.Length != 0)
     .Select(t1 => t1.p).ToList();

  foreach (var prop in props)
  {
    // Do something
  }
}