Наследование: System.ComponentModel.PropertyDescriptor
 protected virtual void CreateColumnCollection()
 {
     VirtualPropertyDescriptorDynamic[] pds = new VirtualPropertyDescriptorDynamic[ColumnCount];
     for (int n = 0; n < ColumnCount; n++)
     {
         pds[n] = new VirtualPropertyDescriptorDynamic(this, n, GetColumnName(n), typeof(string), false);
     }
     fColumnCollection = new PropertyDescriptorCollection(pds);
 }
 protected virtual void CreateColumnCollection()
 {
     VirtualPropertyDescriptorDynamic[] pds = new VirtualPropertyDescriptorDynamic[ColumnCount];
     for (int n = 0; n < ColumnCount; n++)
     {
         pds[n] = new VirtualPropertyDescriptorDynamic(this, n, GetColumnName(n), typeof(string), false);
     }
     fColumnCollection = new PropertyDescriptorCollection(pds);
 }