public Param GetParam(string paramName, Type strutType, object obj, DesignerPropertyInfo param) { int indexInArray = -1; if (!_structParams.ContainsKey(paramName)) { StructParam_t ps0 = new StructParam_t(); _structParams[paramName] = ps0; ps0.type = obj.GetType(); IList <DesignerPropertyInfo> properties = DesignerProperty.GetDesignerProperties(strutType, DesignerProperty.SortByDisplayOrder); foreach (DesignerPropertyInfo property in properties) { object member = property.GetValue(obj); Param v = new Param(property, obj); _structParams[paramName].AddParam(-1, v); } } StructParam_t ps1 = _structParams[paramName] as StructParam_t; Debug.Check(ps1 != null); if (ps1.type == obj.GetType()) { List <Param> ps = _structParams[paramName].GetParams(indexInArray); if (ps != null) { foreach (Param p in ps) { if (p.Name == param.Property.Name && p.Type == param.Property.PropertyType) { return(p); } } } else { Debug.Check(true); } } return(null); }
public Param GetParam(string paramName, Type strutType, object obj, DesignerPropertyInfo param) { int indexInArray = -1; if (!_structParams.ContainsKey(paramName)) { StructParam_t ps0 = new StructParam_t(); _structParams[paramName] = ps0; ps0.type = obj.GetType(); IList<DesignerPropertyInfo> properties = DesignerProperty.GetDesignerProperties(strutType, DesignerProperty.SortByDisplayOrder); foreach (DesignerPropertyInfo property in properties) { object member = property.GetValue(obj); Param v = new Param(property, obj); _structParams[paramName].AddParam(-1, v); } } StructParam_t ps1 = _structParams[paramName] as StructParam_t; Debug.Check(ps1 != null); if (ps1.type == obj.GetType()) { List<Param> ps = _structParams[paramName].GetParams(indexInArray); if (ps != null) { foreach (Param p in ps) { if (p.Name == param.Property.Name && p.Type == param.Property.PropertyType) { return p; } } } else { Debug.Check(true); } } return null; }