Namespace System Namespace Collections Namespace ObjectModel Class Collection Implements Generic.IList list As Generic.IList Public 'Collection クラスの新しいインスタンスを初期化します。 Sub Collection () This.list = New Generic.List End Sub Sub Collection ( list As Generic.IList ) This.list = list End Sub Public 'Collection に実際に格納されている要素の数を取得します。 Override Function Count () As Long Return This.list.Count() End Function 'Item 指定したインデックスにある要素を取得または設定します。 Sub Operator[] ( index As Long, item As T ) This.SetItem(index,item) End Sub Function Operator[] ( index As Long ) As T Return This.list.Item(index) End Function Protected 'Collection をラップする IList ラッパーを取得します。 Function Items () As Generic.IList Return This End Function Public 'Collection の末尾にオブジェクトを追加します。 Override Sub Add ( item As T ) This.list.Add(item) End Sub 'Collection からすべての要素を削除します。 Override Sub Clear () This.ClearItems() End Sub 'ある要素が Collection 内に存在するかどうかを判断します。 /* Function Contains ( item As T ) As Boolean End Function*/ 'Collection 全体を互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まります。 /*CopyTo*/ 'Collection を反復処理する列挙子を返します。 Override Function GetEnumerator () As Generic.IEnumerator Return This.Items().GetEnumerator() End Function '指定したオブジェクトを検索し、Collection 全体内で最初に見つかった位置の 0 から始まるインデックスを返します。 Override Function IndexOf ( item As T ) As Long Return This.list.IndexOf(item) End Function 'Collection 内の指定したインデックスの位置に要素を挿入します。 Override Sub Insert ( index As Long, item As T ) This.InsertItem(index,item) End Sub 'IList が読み取り専用かどうかを示す値を取得します。 Override Function IsReadOnly () As Boolean Return False End Function 'Collection 内で最初に見つかった特定のオブジェクトを削除します。 Override Function Remove ( item As T ) As Boolean Return This.RemoveItem(This.IndexOf(item)) End Function 'Collection の指定したインデックスにある要素を削除します。 Override Sub RemoveAt ( index As Long ) This.RemoveItem(index) End Sub '現在の Object を表す String を返します。 (Object から継承されます。) Override Function ToString () As String Dim string = New Text.StringBuilder Dim i As Long For i = 0 To ELM(This.list.Count()) string.Append(This.list.Item[i]).Append(Ex"\r\n") Next Return string.ToString End Function Protected 'Collection からすべての要素を削除します。 Virtual Sub ClearItems ( ) This.list.Clear() End Sub 'Collection 内の指定したインデックスの位置に要素を挿入します。 Virtual Sub InsertItem ( index As Long, item As T ) This.list.Insert(index,item) End Sub 'Collection の指定したインデックスにある要素を削除します。 Virtual Function RemoveItem ( index As Long ) As Boolean This.list.RemoveAt(index) End Function '指定したインデックス位置にある要素を置き換えます。 Virtual Sub SetItem ( index As Long, item As T ) This.list.Item(index,item) End Sub Public /* System.Collections.ICollection.CopyTo ICollection の要素を Array にコピーします。Array の特定のインデックスからコピーが開始されます。 System.Collections.IEnumerable.GetEnumerator コレクションを反復処理する列挙子を返します。 System.Collections.IList.Add IList に項目を追加します。 System.Collections.IList.Contains IList に特定の値が格納されているかどうかを判断します。 System.Collections.IList.IndexOf IList 内での指定した項目のインデックスを調べます。 System.Collections.IList.Insert IList 内の指定したインデックスの位置に項目を挿入します。 System.Collections.IList.Remove IList 内で最初に見つかった特定のオブジェクトを削除します。 System.Collections.Generic.ICollection.IsReadOnly ICollection が読み取り専用かどうかを示す値を取得します。 System.Collections.ICollection.IsSynchronized ICollection へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。 System.Collections.ICollection.SyncRoot ICollection へのアクセスを同期するために使用できるオブジェクトを取得します。 System.Collections.IList.IsFixedSize IList が固定サイズかどうかを示す値を取得します。 System.Collections.IList.IsReadOnly IList が読み取り専用かどうかを示す値を取得します。 */ End Class End Namespace End Namespace End Namespace