Ejemplo n.º 1
0
        private FieldAttAndValue[] GetFieldAttAndValues(ICatalogEntity entity)
        {
            BindingFlags flags = BindingFlags.GetProperty;
            Type         t     = entity.GetType();

            PropertyInfo[]          pInfos = t.GetProperties();
            List <FieldAttAndValue> values = new List <FieldAttAndValue>();

            foreach (PropertyInfo pInfo in pInfos)
            {
                object[] atts = pInfo.GetCustomAttributes(typeof(AttToFieldMapAttribute), true);
                if (atts == null || atts.Length == 0)
                {
                    continue;
                }
                AttToFieldMapAttribute fieldAtt = atts[0] as AttToFieldMapAttribute;
                object fieldValue = t.InvokeMember(pInfo.Name, flags, null, entity, null);
                values.Add(new FieldAttAndValue(fieldAtt, fieldValue));
            }
            return(values.ToArray());
        }
Ejemplo n.º 2
0
 public FieldAttAndValue(AttToFieldMapAttribute fieldAtt, object value)
 {
     FieldAtt = fieldAtt;
     Value    = value;
 }