public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) { PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); IList <T> list = (IList <T>)value; foreach (T element in list) { ListDescriptor <T> desc = new ListDescriptor <T>(list.IndexOf(element), list); pds.Add(desc); } return(pds); }
public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) { PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); List <Joint> jointList = new List <Joint>(); JointEdge iterator = (JointEdge)value; while (iterator != null) { jointList.Add(iterator.Joint); iterator = iterator.Next; } foreach (Joint element in jointList) { ListDescriptor <Joint> desc = new ListDescriptor <Joint>(jointList.IndexOf(element), jointList); pds.Add(desc); } return(pds); }