System.Xml.Serialization.XmlAnyElementAttributes Class

Assembly: System.Xml.dll
Namespace: System.Xml.Serialization
Summary
Represents a collection of XmlAnyElementAttribute objects.
C# Syntax:
public class XmlAnyElementAttributes : CollectionBase
Remarks
Use the XmlAnyElementAttributes to override the behavior of a set of XmlAnyElementAttribute objects. Multiple instances of the XmlAnyElementAttribute class can be applied to a class member, as long as each instance has a distinct XmlAnyElementAttribute.Name property value; this instructs the XmlSerializer to collect unknown elements under the named element into the appropriate array. It is for this reason that multiple instances of the XmlAnyElementAttribute class can be added to the XmlAnyElementAttributes.

To override a set of XmlAnyElementAttribute objects:

  1. Create an XmlAnyElementAttributes.
  2. Create the set of XmlAnyElementAttribute objects, and add each object to the collection using the XmlAnyElementAttributes.Add method.
  3. Create an XmlAttributes.
  4. Set the XmlAttributes.XmlAnyElements property to the XmlAnyElementAttributes.
  5. Create an XmlAttributeOverrides.
  6. Add the XmlAttributes to the XmlAttributeOverrides using the XmlAttributeOverrides.Add method.
  7. Create an instance of the XmlSerializer using the XmlAttributeOverrides.
  8. Serialize or deserialize an object that contains the set of XmlAnyElementAttribute objects.
Example
The following example creates a new XmlAnyElementAttribute and adds it to the collection of objects accessed through the XmlAttributes.XmlAnyElements property. The XmlAttributes is then added to a XmlAttributeOverrides which is used to create an XmlSerializer. The XmlSerializer is used to serialize or deserialize an object. To see the effect of using the XmlAnyElementAttributes property, create an XML document named UnknownElements.xml by running the SerializeObject method in the Main method. Edit the resulting document to include other (unknown) elements. Comment out the SerializeObject call in the Main method, and uncomment the call to the DeserializeObject method, which will print out the name and value of any unknown XML element.
using System;
using System.IO;
using System.Xml.Serialization;
using System.Xml;

public class Group{
   public string GroupName;
   [XmlAnyElement]
   public object[]Things;

}

public class Test{
   static void Main(){
      Test t = new Test();
      // 1 Run this and create the XML document.
      // 2 Add new elements to the XML document.
      // 3 Comment out the new line, and uncomment
      // the DeserializeObject line to deserialize the
      // XML document and see unknown elements.
      t.SerializeObject("UnknownElements.xml");
     
      // t.DeserializeObject("UnknownElements.xml");
   }

   private void SerializeObject(string filename){
      XmlSerializer ser = new XmlSerializer(typeof (Group));
      TextWriter writer = new StreamWriter(filename);
      Group g = new Group();
      g.GroupName = "MyGroup";
      ser.Serialize(writer, g);
      writer.Close();
   }

   
   private void DeserializeObject(string filename){

      XmlSerializer ser = CreateOverrideSerializer();
      // A FileStream is needed to read the XML document.
      FileStream fs = new FileStream(filename, FileMode.Open);
     Group g = (Group)
     	ser.Deserialize(fs);
     fs.Close();
     Console.WriteLine(g.GroupName);
     Console.WriteLine(g.Things.Length);
     foreach(XmlElement xelement in g.Things){
     Console.WriteLine(xelement.Name + ": " + xelement.InnerXml);
     }
   }

   private XmlSerializer CreateOverrideSerializer(){
      XmlAnyElementAttribute myAnyElement = 
      new XmlAnyElementAttribute();
      XmlAttributeOverrides xOverride = 
      new XmlAttributeOverrides();
      XmlAttributes xAtts = new XmlAttributes();
      xAtts.XmlAnyElements.Add(myAnyElement);
      xOverride.Add(typeof(Group), "Things", xAtts);
      return new XmlSerializer(typeof(Group) , xOverride);
   }
}

    
See also:
System.Xml.Serialization Namespace

System.Xml.Serialization.XmlAnyElementAttributes Member List:

Public Constructors
ctor #1 Default constructor. This constructor is called by derived class constructors to initialize state in this type.
Public Properties
Count
(inherited from System.Collections.CollectionBase)
Read-only

See base class member description: System.Collections.CollectionBase.Count


Gets the number of elements contained in the CollectionBase instance.
Item Read-write

Gets or sets the XmlAnyElementAttribute at the specified index.
Public Methods
Add Adds an XmlAnyElementAttribute to the collection.
Clear
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.Clear


Removes all objects from the CollectionBase instance.
Contains Gets a value indicating whether the specified XmlAnyElementAttribute exists in the collection.
CopyTo Supports the Shared Source CLI infrastructure and is not intended to be used directly from your code
Equals
(inherited from System.Object)
See base class member description: System.Object.Equals

Derived from System.Object, the primary base class for all objects.
GetEnumerator
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.GetEnumerator


Returns an enumerator that can iterate through the CollectionBase instance.
GetHashCode
(inherited from System.Object)
See base class member description: System.Object.GetHashCode

Derived from System.Object, the primary base class for all objects.
GetType
(inherited from System.Object)
See base class member description: System.Object.GetType

Derived from System.Object, the primary base class for all objects.
IndexOf Gets the index of the specified XmlAnyElementAttribute.
Insert Inserts an XmlAnyElementAttribute into the collection at the specified index.
Remove Removes the specified XmlAnyElementAttribute from the collection.
RemoveAt
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.RemoveAt


Removes the element at the specified index of the CollectionBase instance.
ToString
(inherited from System.Object)
See base class member description: System.Object.ToString

Derived from System.Object, the primary base class for all objects.
Protected Properties
InnerList
(inherited from System.Collections.CollectionBase)
Read-only

See base class member description: System.Collections.CollectionBase.InnerList


Gets an ArrayList containing the list of elements in the CollectionBase instance.
List
(inherited from System.Collections.CollectionBase)
Read-only

See base class member description: System.Collections.CollectionBase.List


Gets an IList containing the list of elements in the CollectionBase instance.
Protected Methods
Finalize
(inherited from System.Object)
See base class member description: System.Object.Finalize

Derived from System.Object, the primary base class for all objects.
MemberwiseClone
(inherited from System.Object)
See base class member description: System.Object.MemberwiseClone

Derived from System.Object, the primary base class for all objects.
OnClear
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnClear


Performs additional custom processes when clearing the contents of the CollectionBase instance.
OnClearComplete
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnClearComplete


Performs additional custom processes after clearing the contents of the CollectionBase instance.
OnInsert
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnInsert


Performs additional custom processes before inserting a new element into the CollectionBase instance.
OnInsertComplete
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnInsertComplete


Performs additional custom processes after inserting a new element into the CollectionBase instance.
OnRemove
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnRemove


Performs additional custom processes when removing an element from the CollectionBase instance.
OnRemoveComplete
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnRemoveComplete


Performs additional custom processes after removing an element from the CollectionBase instance.
OnSet
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnSet


Performs additional custom processes before setting a value in the CollectionBase instance.
OnSetComplete
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnSetComplete


Performs additional custom processes after setting a value in the CollectionBase instance.
OnValidate
(inherited from System.Collections.CollectionBase)
See base class member description: System.Collections.CollectionBase.OnValidate


Performs additional custom processes when validating a value.

Hierarchy:


System.Xml.Serialization.XmlAnyElementAttributes Member Details

ctor #1
Summary:
Default constructor. This constructor is called by derived class constructors to initialize state in this type.
C# Syntax:
public XmlAnyElementAttributes();

Return to top


Property: Count (read-only)
Inherited
See base class member description: System.Collections.CollectionBase.Count

Summary
Gets the number of elements contained in the CollectionBase instance.
C# Syntax:
public int Count {get;}
Implements:
ICollection.Count

Return to top


Property: InnerList (read-only)
Inherited
See base class member description: System.Collections.CollectionBase.InnerList

Summary
Gets an ArrayList containing the list of elements in the CollectionBase instance.
C# Syntax:
protected ArrayList InnerList {get;}
Remarks
The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.

Return to top


Property: Item (read-write)
Summary
Gets or sets the XmlAnyElementAttribute at the specified index.
C# Syntax:
public XmlAnyElementAttribute this[int index] {get; set;}
Parameters:

index

The index of the XmlAnyElementAttribute.

Return to top


Property: List (read-only)
Inherited
See base class member description: System.Collections.CollectionBase.List

Summary
Gets an IList containing the list of elements in the CollectionBase instance.
C# Syntax:
protected IList List {get;}
Remarks
The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.

Return to top


Method: Add(
   XmlAnyElementAttribute attribute
)
Summary
Adds an XmlAnyElementAttribute to the collection.
C# Syntax:
public int Add(
   XmlAnyElementAttribute attribute
);
Parameters:

attribute

The XmlAnyElementAttribute to add.

Return Value:
The index of the newly added XmlAnyElementAttribute.
Example
The following example creates a new XmlAnyElementAttribute and adds it to the collection of objects accessed through the XmlAttributes.XmlAnyElements property. The XmlAttributes is then added to an XmlAttributeOverrides, which is used to create an XmlSerializer. The XmlSerializer is used to serialize or deserialize an object. To see the effect of using the XmlAnyElementAttributes property, create an XML document named UnknownElements.xml by running the SerializeObject method in the Main method. Edit the resulting document to include other (unknown) elements. Comment out the SerializeObject call in the Main method, and uncomment the call to the DeserializeObject method, which will print out the name and value of any unknown XML element.
using System;
using System.IO;
using System.Xml.Serialization;
using System.Xml;

public class Group{
   public string GroupName;
   [XmlAnyElement]
   public object[]Things;

}

public class Test{
   static void Main(){
      Test t = new Test();
      // 1 Run this and create the XML document.
      // 2 Add new elements to the XML document.
      // 3 Comment out the new line, and uncomment
      // the DeserializeObject line to deserialize the
      // XML document and see unknown elements.
      t.SerializeObject("UnknownElements.xml");
     
      // t.DeserializeObject("UnknownElements.xml");
   }

   private void SerializeObject(string filename){
      XmlSerializer ser = new XmlSerializer(typeof (Group));
      TextWriter writer = new StreamWriter(filename);
      Group g = new Group();
      g.GroupName = "MyGroup";
      ser.Serialize(writer, g);
      writer.Close();
   }

   
   private void DeserializeObject(string filename){

      XmlSerializer ser = CreateOverrideSerializer();
      // A FileStream is needed to read the XML document.
      FileStream fs = new FileStream(filename, FileMode.Open);
     Group g = (Group)
     	ser.Deserialize(fs);
     fs.Close();
     Console.WriteLine(g.GroupName);
     Console.WriteLine(g.Things.Length);
     foreach(XmlElement xelement in g.Things){
     Console.WriteLine(xelement.Name + ": " + xelement.InnerXml);
     }
   }

   private XmlSerializer CreateOverrideSerializer(){
      XmlAnyElementAttribute myAnyElement = 
      new XmlAnyElementAttribute();
      XmlAttributeOverrides xOverride = 
      new XmlAttributeOverrides();
      XmlAttributes xAtts = new XmlAttributes();
      xAtts.XmlAnyElements.Add(myAnyElement);
      xOverride.Add(typeof(Group), "Things", xAtts);
      return new XmlSerializer(typeof(Group) , xOverride);
   }
}

    

Return to top


Method: Clear()
Inherited
See base class member description: System.Collections.CollectionBase.Clear

Summary
Removes all objects from the CollectionBase instance.
C# Syntax:
public void Clear();
Implements:
IList.Clear
Remarks
CollectionBase.Count is set to zero.

Return to top


Method: Contains(
   XmlAnyElementAttribute attribute
)
Summary
Gets a value indicating whether the specified XmlAnyElementAttribute exists in the collection.
C# Syntax:
public bool Contains(
   XmlAnyElementAttribute attribute
);
Parameters:

attribute

The XmlAnyElementAttribute you are interested in.

Return Value:
true if the XmlAnyElementAttribute exists in the collection; otherwise, false.

Return to top


Method: CopyTo(
   XmlAnyElementAttribute[] array,
   int index
)
Summary
Supports the Shared Source CLI infrastructure and is not intended to be used directly from your code
C# Syntax:
public void CopyTo(
   XmlAnyElementAttribute[] array,
   int index
);
Parameters:

array

index

Return to top


Method: Equals(
   object obj
)
Inherited
See base class member description: System.Object.Equals
C# Syntax:
public virtual bool Equals(
   object obj
);

For more information on members inherited from System.Object click on the link above.

Return to top


Method: Finalize()
Inherited
See base class member description: System.Object.Finalize
C# Syntax:
~XmlAnyElementAttributes();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: GetEnumerator()
Inherited
See base class member description: System.Collections.CollectionBase.GetEnumerator

Summary
Returns an enumerator that can iterate through the CollectionBase instance.
C# Syntax:
public IEnumerator GetEnumerator();
Return Value:
An IEnumerator for the CollectionBase instance.
Implements:
IEnumerable.GetEnumerator
Remarks
Enumerators only allow reading the data in the collection. Enumerators cannot be used to modify the underlying collection.

Initially, the enumerator is positioned before the first element in the collection. IEnumerator.Reset also brings the enumerator back to this position. At this position, calling IEnumerator.Current throws an exception. Therefore, you must call IEnumerator.MoveNext to advance the enumerator to the first element of the collection before reading the value of IEnumerator.Current.

IEnumerator.Current returns the same object until either IEnumerator.MoveNext or IEnumerator.Reset is called. IEnumerator.MoveNext sets IEnumerator.Current to the next element.

After the end of the collection is passed, the enumerator is positioned after the last element in the collection, and calling IEnumerator.MoveNext returns false. If the last call to IEnumerator.MoveNext returned false, calling IEnumerator.Current throws an exception. To set IEnumerator.Current to the first element of the collection again, you can call IEnumerator.Reset followed by IEnumerator.MoveNext.

An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying or deleting elements, the enumerator is irrecoverably invalidated and the next call to IEnumerator.MoveNext or IEnumerator.Reset throws an InvalidOperationException. If the collection is modified between IEnumerator.MoveNext and IEnumerator.Current, IEnumerator.Current will return the element that it is set to, even if the enumerator is already invalidated.

The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

See also:
IEnumerator

Return to top


Method: GetHashCode()
Inherited
See base class member description: System.Object.GetHashCode
C# Syntax:
public virtual int GetHashCode();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: GetType()
Inherited
See base class member description: System.Object.GetType
C# Syntax:
public Type GetType();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: IndexOf(
   XmlAnyElementAttribute attribute
)
Summary
Gets the index of the specified XmlAnyElementAttribute.
C# Syntax:
public int IndexOf(
   XmlAnyElementAttribute attribute
);
Parameters:

attribute

The XmlAnyElementAttribute whose index you want.

Return Value:
The index of the specified XmlAnyElementAttribute.

Return to top


Method: Insert(
   int index,
   XmlAnyElementAttribute attribute
)
Summary
Inserts an XmlAnyElementAttribute into the collection at the specified index.
C# Syntax:
public void Insert(
   int index,
   XmlAnyElementAttribute attribute
);
Parameters:

index

The index where the XmlAnyElementAttribute will be inserted.

attribute

The XmlAnyElementAttribute to insert.

Return to top


Method: MemberwiseClone()
Inherited
See base class member description: System.Object.MemberwiseClone
C# Syntax:
protected object MemberwiseClone();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: OnClear()
Inherited
See base class member description: System.Collections.CollectionBase.OnClear

Summary
Performs additional custom processes when clearing the contents of the CollectionBase instance.
C# Syntax:
protected virtual void OnClear();
Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action before the collection is cleared.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed before deleting all the elements from the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnClear is invoked before the standard Clear behavior, whereas CollectionBase.OnClearComplete is invoked after the standard Clear behavior.

For example, implementers can exempt certain elements from deletion by a global Clear.

See also:
CollectionBase.OnClearComplete | CollectionBase.OnRemove

Return to top


Method: OnClearComplete()
Inherited
See base class member description: System.Collections.CollectionBase.OnClearComplete

Summary
Performs additional custom processes after clearing the contents of the CollectionBase instance.
C# Syntax:
protected virtual void OnClearComplete();
Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action after the collection is cleared.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed after deleting all the elements from the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnClear is invoked before the standard Clear behavior, whereas CollectionBase.OnClearComplete is invoked after the standard Clear behavior.

See also:
CollectionBase.OnClear | CollectionBase.OnRemoveComplete

Return to top


Method: OnInsert(
   int index,
   object value
)
Inherited
See base class member description: System.Collections.CollectionBase.OnInsert

Summary
Performs additional custom processes before inserting a new element into the CollectionBase instance.
C# Syntax:
protected virtual void OnInsert(
   int index,
   object value
);
Parameters:

index

The zero-based index at which to insert value.

value

The new value of the element at index.

Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action before the specified element is inserted.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed before inserting the element into the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnInsert is invoked before the standard Insert behavior, whereas CollectionBase.OnInsertComplete is invoked after the standard Insert behavior.

For example, implementers can restrict which types of objects can be inserted into the ArrayList.

See also:
CollectionBase.OnInsertComplete | CollectionBase.OnSet | CollectionBase.OnValidate

Return to top


Method: OnInsertComplete(
   int index,
   object value
)
Inherited
See base class member description: System.Collections.CollectionBase.OnInsertComplete

Summary
Performs additional custom processes after inserting a new element into the CollectionBase instance.
C# Syntax:
protected virtual void OnInsertComplete(
   int index,
   object value
);
Parameters:

index

The zero-based index at which to insert value.

value

The new value of the element at index.

Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action after the specified element is inserted.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed after inserting the element into the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnInsert is invoked before the standard Insert behavior, whereas CollectionBase.OnInsertComplete is invoked after the standard Insert behavior.

See also:
CollectionBase.OnInsert | CollectionBase.OnSetComplete

Return to top


Method: OnRemove(
   int index,
   object value
)
Inherited
See base class member description: System.Collections.CollectionBase.OnRemove

Summary
Performs additional custom processes when removing an element from the CollectionBase instance.
C# Syntax:
protected virtual void OnRemove(
   int index,
   object value
);
Parameters:

index

The zero-based index at which value can be found.

value

The value of the element to remove from index.

Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action before the specified element is removed.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed before removing the element from the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnRemove is invoked before the standard Remove behavior, whereas CollectionBase.OnRemoveComplete is invoked after the standard Remove behavior.

For example, implementers can prevent removal of elements by always throwing an exception in CollectionBase.OnRemove.

See also:
CollectionBase.OnRemoveComplete | CollectionBase.OnClear

Return to top


Method: OnRemoveComplete(
   int index,
   object value
)
Inherited
See base class member description: System.Collections.CollectionBase.OnRemoveComplete

Summary
Performs additional custom processes after removing an element from the CollectionBase instance.
C# Syntax:
protected virtual void OnRemoveComplete(
   int index,
   object value
);
Parameters:

index

The zero-based index at which value can be found.

value

The value of the element to remove from index.

Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action after the specified element is removed.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed after removing the element from the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnRemove is invoked before the standard Remove behavior, whereas CollectionBase.OnRemoveComplete is invoked after the standard Remove behavior.

See also:
CollectionBase.OnRemove | CollectionBase.OnClearComplete

Return to top


Method: OnSet(
   int index,
   object oldValue,
   object newValue
)
Inherited
See base class member description: System.Collections.CollectionBase.OnSet

Summary
Performs additional custom processes before setting a value in the CollectionBase instance.
C# Syntax:
protected virtual void OnSet(
   int index,
   object oldValue,
   object newValue
);
Parameters:

index

The zero-based index at which oldValue can be found.

oldValue

The value to replace with newValue.

newValue

The new value of the element at index.

Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action before the specified element is set.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed before setting the specified element in the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnSet is invoked before the standard Set behavior, whereas CollectionBase.OnSetComplete is invoked after the standard Set behavior.

For example, implementers can restrict which values can be overwritten by performing a check inside CollectionBase.OnSet.

See also:
CollectionBase.OnSetComplete | CollectionBase.OnInsert | CollectionBase.OnValidate

Return to top


Method: OnSetComplete(
   int index,
   object oldValue,
   object newValue
)
Inherited
See base class member description: System.Collections.CollectionBase.OnSetComplete

Summary
Performs additional custom processes after setting a value in the CollectionBase instance.
C# Syntax:
protected virtual void OnSetComplete(
   int index,
   object oldValue,
   object newValue
);
Parameters:

index

The zero-based index at which oldValue can be found.

oldValue

The value to replace with newValue.

newValue

The new value of the element at index.

Remarks
The default implementation of this method is intended to be overridden by a derived class to perform some action after the specified element is set.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed after setting the specified element in the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnSet is invoked before the standard Set behavior, whereas CollectionBase.OnSetComplete is invoked after the standard Set behavior.

See also:
CollectionBase.OnSet | CollectionBase.OnInsertComplete

Return to top


Method: OnValidate(
   object value
)
Inherited
See base class member description: System.Collections.CollectionBase.OnValidate

Summary
Performs additional custom processes when validating a value.
C# Syntax:
protected virtual void OnValidate(
   object value
);
Parameters:

value

The object to validate.

Remarks
The default implementation of this method determines whether value is null, and, if so, throws ArgumentNullException. It is intended to be overridden by a derived class to perform additional action when the specified element is validated.

The On* methods are invoked only on the instance returned by the CollectionBase.List property, but not on the instance returned by the CollectionBase.InnerList property.



Notes to implementors:

This method allows implementers to define processes that must be performed when executing the standard behavior of the underlying ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

CollectionBase.OnValidate can be used to impose restrictions on the type of objects that are accepted into the collection. The default implementation prevents null from being added to or removed from the underlying ArrayList.

See also:
CollectionBase.OnSet | CollectionBase.OnInsert

Return to top


Method: Remove(
   XmlAnyElementAttribute attribute
)
Summary
Removes the specified XmlAnyElementAttribute from the collection.
C# Syntax:
public void Remove(
   XmlAnyElementAttribute attribute
);
Parameters:

attribute

The XmlAnyElementAttribute to remove.

Return to top


Method: RemoveAt(
   int index
)
Inherited
See base class member description: System.Collections.CollectionBase.RemoveAt

Summary
Removes the element at the specified index of the CollectionBase instance.
C# Syntax:
public void RemoveAt(
   int index
);
Parameters:

index

The zero-based index of the element to remove.

Exceptions
Exception Type Condition
ArgumentOutOfRangeException index is less than zero.

-or-

index is equal to or greater than CollectionBase.Count.

Implements:
IList.RemoveAt
Remarks
In collections of contiguous elements, such as lists, the elements that follow the removed element move up to occupy the vacated spot. If the collection is indexed, the indexes of the elements that are moved are also updated. This behavior does not apply to collections where elements are conceptually grouped into buckets, such as a hashtable.

Return to top


Method: ToString()
Inherited
See base class member description: System.Object.ToString
C# Syntax:
public virtual string ToString();

For more information on members inherited from System.Object click on the link above.

Return to top


Top of page

Copyright (c) 2002 Microsoft Corporation. All rights reserved.