public PropertySpecDescriptor(PropertySpec item, PropertyBag bag, string name, Attribute[] attrs)
     :
     base(name, attrs)
 {
     this.bag = bag;
     this.item = item;
 }
 /// <summary>
 /// Inserts a PropertySpec object into the PropertySpecCollection at the specified index.
 /// </summary>
 /// <param name="index">The zero-based index at which value should be inserted.</param>
 /// <param name="value">The PropertySpec to insert.</param>
 public void Insert(int index, PropertySpec value)
 {
     innerArray.Insert(index, value);
 }
 /// <summary>
 /// Removes the first occurrence of a specific object from the PropertySpecCollection.
 /// </summary>
 /// <param name="obj">The PropertySpec to remove from the PropertySpecCollection.</param>
 public void Remove(PropertySpec obj)
 {
     innerArray.Remove(obj);
 }
 /// <summary>
 /// Copies the PropertySpecCollection or a portion of it to a one-dimensional array.
 /// </summary>
 /// <param name="array">The one-dimensional Array that is the destination of the elements copied
 /// from the collection.</param>
 /// <param name="index">The zero-based index in array at which copying begins.</param>
 public void CopyTo(PropertySpec[] array, int index)
 {
     innerArray.CopyTo(array, index);
 }
 /// <summary>
 /// Searches for the specified PropertySpec and returns the zero-based index of the first
 /// occurrence within the entire PropertySpecCollection.
 /// </summary>
 /// <param name="value">The PropertySpec to locate in the PropertySpecCollection.</param>
 /// <returns>The zero-based index of the first occurrence of value within the entire PropertySpecCollection,
 /// if found; otherwise, -1.</returns>
 public int IndexOf(PropertySpec value)
 {
     return innerArray.IndexOf(value);
 }
 /// <summary>
 /// Copies the entire PropertySpecCollection to a compatible one-dimensional Array, starting at the
 /// beginning of the target array.
 /// </summary>
 /// <param name="array">The one-dimensional Array that is the destination of the elements copied
 /// from PropertySpecCollection. The Array must have zero-based indexing.</param>
 public void CopyTo(PropertySpec[] array)
 {
     innerArray.CopyTo(array);
 }
 /// <summary>
 /// Determines whether a PropertySpec is in the PropertySpecCollection.
 /// </summary>
 /// <param name="item">The PropertySpec to locate in the PropertySpecCollection. The element to locate
 /// can be a null reference (Nothing in Visual Basic).</param>
 /// <returns>true if item is found in the PropertySpecCollection; otherwise, false.</returns>
 public bool Contains(PropertySpec item)
 {
     return innerArray.Contains(item);
 }
 /// <summary>
 /// Adds the elements of an array of PropertySpec objects to the end of the PropertySpecCollection.
 /// </summary>
 /// <param name="array">The PropertySpec array whose elements should be added to the end of the
 /// PropertySpecCollection.</param>
 public void AddRange(PropertySpec[] array)
 {
     innerArray.AddRange(array);
 }
            /// <summary>
            /// Adds a PropertySpec to the end of the PropertySpecCollection.
            /// </summary>
            /// <param name="value">The PropertySpec to be added to the end of the PropertySpecCollection.</param>
            /// <returns>The PropertySpecCollection index at which the value has been added.</returns>
            public int Add(PropertySpec value)
            {
                int index = innerArray.Add(value);

                return index;
            }
 /// <summary>
 /// Initializes a new instance of the PropertySpecEventArgs class.
 /// </summary>
 /// <param name="property">The PropertySpec that represents the property whose
 /// value is being requested or set.</param>
 /// <param name="val">The current value of the property.</param>
 public PropertySpecEventArgs(PropertySpec property, object val)
 {
     this.property = property;
     this.val = val;
 }