public CompositeDataSource(DataSourcePartCollection parts) { if (parts == null) { throw new ArgumentNullException("parts"); } this.parts = parts; TrySubscribeOnCollectionChanged(parts); }
public CompositeEnumerator(DataSourcePartCollection parts) { this.parts = parts; enumerators = new IEnumerator[parts.Count]; int index = 0; foreach (var part in parts) { enumerators[index] = part.Collection.GetEnumerator(); index++; } }
public static PropertyDescriptorCollection CreatePropertyDescriptors(DataSourcePartCollection parts, IEnumerator[] enumerators) { PropertyDescriptor[] descriptors = new PropertyDescriptor[parts.Count]; int index = 0; foreach (var part in parts) { IEnumerator enumerator = enumerators[index]; CompositeDataSourcePropertyDescriptor descriptor = new CompositeDataSourcePropertyDescriptor(part.PropertyName, enumerator, part.PropertyType); descriptors[index] = descriptor; index++; } // todo is there true? PropertyDescriptorCollection result = new PropertyDescriptorCollection(descriptors, true); return(result); }
public static PropertyDescriptorCollection CreatePropertyDescriptors(DataSourcePartCollection parts) { IEnumerator[] enumerators = new IEnumerator[parts.Count]; return(CreatePropertyDescriptors(parts, enumerators)); }
public CompositeEnumerable(DataSourcePartCollection parts) { this.parts = parts; }