big patch:
[mono.git] / mcs / class / System / System.CodeDom / CodeTypeReferenceCollection.cs
1 //
2 // System.CodeDom CodeTypeReferenceCollection Class implementation
3 //
4 // Author:
5 //   Daniel Stodden (stodden@in.tum.de)
6 //
7 // (C) 2002 Ximian, Inc.
8 //
9
10 using System.Runtime.InteropServices;
11 using System.Collections;
12
13 namespace System.CodeDom 
14 {
15         [Serializable]
16         [ClassInterface(ClassInterfaceType.AutoDispatch)]
17         [ComVisible(true)]
18         public class CodeTypeReferenceCollection
19                 : CollectionBase
20         {
21                 //
22                 // Constructors
23                 //
24                 public CodeTypeReferenceCollection()
25                 {
26                 }
27
28                 public CodeTypeReferenceCollection( CodeTypeReference[] value )
29                 {
30                         AddRange( value );
31                 }
32
33                 public CodeTypeReferenceCollection( CodeTypeReferenceCollection value )
34                 {
35                         AddRange( value );
36                 }
37
38                 //
39                 // Properties
40                 //
41                 public CodeTypeReference this[int index]
42                 {
43                         get {
44                                 return (CodeTypeReference)List[index];
45                         }
46                         set {
47                                 List[index] = value;
48                         }
49                 }
50
51                 //
52                 // Methods
53                 //
54                 public int Add (CodeTypeReference value)
55                 {
56                         return List.Add( value );
57                 }
58
59                 public void AddRange (CodeTypeReference [] value )
60                 {
61                         foreach ( CodeTypeReference elem in value )
62                                 Add( elem );
63                 }
64                 
65                 public void AddRange (CodeTypeReferenceCollection value)
66                 {
67                         foreach ( CodeTypeReference elem in value )
68                                 Add( elem );
69                 }
70
71                 public bool Contains( CodeTypeReference value )
72                 {
73                         return List.Contains( value );
74                 }
75                 
76                 public void CopyTo( CodeTypeReference[] array, int index )
77                 {
78                         List.CopyTo( array, index );
79                 }
80
81                 public int IndexOf( CodeTypeReference value )
82                 {
83                         return List.IndexOf( value );
84                 }
85
86                 public void Insert( int index, CodeTypeReference value )
87                 {
88                         List.Insert( index, value );
89                 }
90
91                 public void Remove( CodeTypeReference value )
92                 {
93                         int index = IndexOf( value );
94                         if ( index < 0 )
95                                 throw( new ArgumentException( "The specified object is not found in the collection" ) );
96                         RemoveAt( index );
97                 }
98         }
99 }