实体中的相同类别属性属于c#中的字典



我有一个实体女巫有一些特性。我使用了类别 将类似属性分类为属性。`

       [System.ComponentModel.Category("cat_name1")]
       public string propname1 { get; set; }
       [System.ComponentModel.Category("cat_name2")]
       public string propname2 { get; set; }

我想将这些属性作为类别键入字典对象键 并重视属性列表

Dictionary<string, List<PropertyInfo>> variable_name= TypeDescriptor.GetProperties(new entityClass())
.Cast<PropertyDescriptor>()
    .ToDictionary(s =>s.Category,TypeDescriptor.GetProperti[enter image description here][1]es(new entityClass())
    .Cast<PropertyDescriptor()
    .GroupBy(p=>p.Category).ToList<PropertyInfo>());

im收到此错误

这是一种创建Dictionary<string, List<string>的方法。密钥将为categy名称,值将为字符串列表(如果您有两个或多个具有相同类别的属性(。

EntityClass entityClass = new EntityClass();
entityClass.propname1 = "abc";
entityClass.propname2 = "def";
System.ComponentModel.PropertyDescriptorCollection pdc = System.ComponentModel.TypeDescriptor.GetProperties(entityClass);
var dict = pdc.OfType<PropertyDescriptor>().GroupBy(x => x.Category).ToDictionary(x => x.Key, x => x.Select(p => p.GetValue(entityClass).ToString()).ToList());

编辑:我不确定这是否是您想要的结果,因为问题格式/结构差。请下次尝试更好地解释。

这就是我所做的。

Dictionary<string, Dictionary<string, AttributeCollection>> testingSectionFields =
                TypeDescriptor.GetProperties(new PP_MainDataEntity())
                .OfType<PropertyDescriptor>().ToList()
                .GroupBy(cat => cat.Category)
                .ToDictionary(c => c.Key, c1 => c1.ToDictionary(fld => fld.Name, fld1 => fld1.Attributes));

WICH Retreives实体属性 ->按类别属性对它们进行分组 ->获取特定于该属性的所有属性:(

相关内容

  • 没有找到相关文章

最新更新