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); }
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); }