2010-06-29 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / class / System / System.CodeDom / CodeTypeReferenceCollection.cs
index 8d3feee7ddbe0b7bd94edb37e7a2a182483d25b8..0212e4e1f6845b2f5a877b8f7563f86546786dac 100644 (file)
@@ -88,12 +88,25 @@ namespace System.CodeDom
 
                public void AddRange (CodeTypeReference [] value )
                {
-                       InnerList.AddRange (value);
+                       if (value == null) {
+                               throw new ArgumentNullException ("value");
+                       }
+
+                       for (int i = 0; i < value.Length; i++) {
+                               Add (value[i]);
+                       }
                }
                
                public void AddRange (CodeTypeReferenceCollection value)
                {
-                       InnerList.AddRange (value);
+                       if (value == null) {
+                               throw new ArgumentNullException ("value");
+                       }
+
+                       int count = value.Count;
+                       for (int i = 0; i < count; i++) {
+                               Add (value[i]);
+                       }
                }
 
                public bool Contains( CodeTypeReference value )
@@ -118,10 +131,7 @@ namespace System.CodeDom
 
                public void Remove( CodeTypeReference value )
                {
-                       int index = IndexOf( value );
-                       if ( index < 0 )
-                               throw( new ArgumentException( "The specified object is not found in the collection" ) );
-                       RemoveAt( index );
+                       List.Remove (value);
                }
        }
 }