public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes)
 {
     if ((context != null) && (context.Instance is Button))
     {
         Attribute[] array = new Attribute[attributes.Length + 1];
         attributes.CopyTo(array, 0);
         array[attributes.Length] = new ApplicableToButtonAttribute();
         attributes = array;
     }
     return TypeDescriptor.GetProperties(value, attributes);
 }
Example #2
0
 private static Attribute[] DeepCopy(Attribute[] originals)
 {
     Attribute[] copies = new Attribute[originals.Length];
     originals.CopyTo(copies, 0);
     
     //
     // Deep copy each returned attribute since attributes
     // are generally not known to be read-only.
     //
     
     for (int i = 0; i < copies.Length; i++)
         copies[i] = (Attribute) ((ICloneable) copies[i]).Clone();
     
     return copies;
 }
 public AttributeExtCollection(Attribute[] attrs) {
     m_attributes = new object[attrs.Length];
     attrs.CopyTo(m_attributes, 0);
 }