C# | Creating a read-only wrapper for the ArrayList
ArrayList.ReadOnly(ArrayList) Method is used to get a read-only ArrayList wrapper.
public static System.Collections.ArrayList ReadOnly(System.Collections.ArrayList list);
Here, the list is the ArrayList which is to be wrapped.
Return Value: It returns a read-only ArrayList Wrapper around the list.
Exception: This method returns the ArgumentNullException if the list is null.
Below programs illustrate the use of above-discussed method:
myList ArrayList is not read-only. myList2 ArrayList is read-only.
Before Wrapping: C C++ Java C# Python After Wrapping: C C++ Java C# Python Trying to add new element into myList2:
System.NotSupportedException: Collection is read-only.
Explanation: In the above program, you can add or remove the elements from the myList i.e original ArrayList which will reflect into the read-only collection.
- To prevent any modifications to list, expose list only through this wrapper.
- A collection that is read-only is simply a collection with a wrapper that prevents modifying the collection. If changes are made to the underlying collection, the read-only collection reflects those changes.
- This method is an O(1) operation.