source: trunk/ab5.0/ablib/src/Classes/System/Collections/ObjectModel/ReadOnlyCollection.ab@ 619

Last change on this file since 619 was 619, checked in by NoWest, 16 years ago

Collection<T>クラス系は一応の完成ですが、briefはまだ書いてません。

File size: 2.7 KB
Line 
1
2Namespace System
3Namespace Collections
4Namespace ObjectModel
5
6
7Class ReadOnlyCollection<T>
8 Implements Generic.IList<T>
9 list As Generic.IList<T>
10
11Public
12 'Collection クラスの新しいインスタンスを初期化します。
13 Sub ReadOnlyCollection ()
14 This.list = New Generic.List<T>
15 End Sub
16 Sub ReadOnlyCollection ( list As Generic.IList<T> )
17 This.list = list
18 End Sub
19
20Public
21 'Collection に実際に格納されている要素の数を取得します。
22 Override Function Count () As Long
23 Return This.list.Count()
24 End Function
25
26 'Item 指定したインデックスにある要素を取得します。
27 Sub Operator[] ( index As Long, item As T )
28 Throw New NotSupportedException
29 End Sub
30 Function Operator[] ( index As Long ) As T
31 Return This.list.Item(index)
32 End Function
33
34Protected
35 'Collection をラップする IList ラッパーを取得します。
36 Function Items () As Generic.IList<T>
37 Return list
38 End Function
39
40Public
41 'Collection の末尾にオブジェクトを追加します。
42 Override Sub Add ( item As T )
43 Throw New NotSupportedException
44 End Sub
45
46 'Collection からすべての要素を削除します。
47 Override Sub Clear ()
48 Throw New NotSupportedException
49 End Sub
50
51 'ある要素が Collection 内に存在するかどうかを判断します。
52/* Function Contains ( item As T ) As Boolean
53 End Function*/
54
55 'Collection 全体を互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まります。
56 /*CopyTo*/
57
58 'Collection を反復処理する列挙子を返します。
59 Override Function GetEnumerator () As Generic.IEnumerator<T>
60 Return This.list.GetEnumerator()
61 End Function
62
63 '指定したオブジェクトを検索し、Collection 全体内で最初に見つかった位置の 0 から始まるインデックスを返します。
64 Override Function IndexOf ( item As T ) As Long
65 Return This.list.IndexOf(item)
66 End Function
67
68 'Collection 内の指定したインデックスの位置に要素を挿入します。
69 Override Sub Insert ( index As Long, item As T )
70 Throw New NotSupportedException
71 End Sub
72
73 'IList が読み取り専用かどうかを示す値を取得します。
74 Override Function IsReadOnly () As Boolean
75 Return True
76 End Function
77
78 'Collection 内で最初に見つかった特定のオブジェクトを削除します。
79 Override Function Remove ( item As T ) As Boolean
80 Throw New NotSupportedException
81 End Function
82
83 'Collection の指定したインデックスにある要素を削除します。
84 Override Sub RemoveAt ( index As Long )
85 Throw New NotSupportedException
86 End Sub
87
88 '現在の Object を表す String を返します。 (Object から継承されます。)
89 Override Function ToString () As String
90 Dim string = New Text.StringBuilder
91 Dim i As Long
92 For i = 0 To ELM(This.list.Count())
93 string.Append(This.list.Item[i]).Append(Ex"\r\n")
94 Next
95 Return string.ToString
96 End Function
97
98End Class
99
100End Namespace
101End Namespace
102End Namespace
Note: See TracBrowser for help on using the repository browser.