protected override void GetProperties(System.Collections.Hashtable propertyDescriptors) { base.GetProperties(propertyDescriptors); // use a custom type descriptor for connection protocol PropertyDescriptor pd = (PropertyDescriptor)propertyDescriptors["Connection Protocol"]; Attribute[] myAttr = new Attribute[pd.Attributes.Count]; pd.Attributes.CopyTo(myAttr, 0); ConnectionProtocolDescriptor mypd; mypd = new ConnectionProtocolDescriptor(pd.Name, myAttr); propertyDescriptors["Connection Protocol"] = mypd; }