Changeset 619


Ignore:
Timestamp:
Aug 25, 2008, 1:27:43 AM (16 years ago)
Author:
NoWest
Message:

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

Location:
trunk/ab5.0/ablib/src/Classes
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/MM/Joystick.ab

    r594 r619  
    518518Public 'Static Method
    519519    '使用可能なジョイスティックIDを列挙したIListを取得
    520     Static Function GetJoystickIDs() As System.Collections.Generic.IList<DWord>
     520    Static Function GetValidJoystickIDs() As System.Collections.Generic.IList<DWord>
    521521        Dim max = NumberOfDevices()
    522522        GetJoystickIDs = New System.Collections.Generic.List<DWord>
  • trunk/ab5.0/ablib/src/Classes/System/Collections/ObjectModel/Collection.ab

    r610 r619  
    66
    77Class Collection<T>
    8     Implements System.Collections.Generic.IList<T>
     8    Implements Generic.IList<T>
     9    list As Generic.IList<T>
    910
    1011Public
    1112    'Collection クラスの新しいインスタンスを初期化します。
    12     Sub Collection (  )
     13    Sub Collection ()
     14        This.list = New Generic.List<T>
    1315    End Sub
    14     Sub Collection ( list As System.Collections.Generic.IList<T> )
     16    Sub Collection ( list As Generic.IList<T> )
     17        This.list = list
    1518    End Sub
    1619
     
    1821    'Collection に実際に格納されている要素の数を取得します。
    1922    Override Function Count () As Long
     23        Return This.list.Count()
    2024    End Function
    2125
    2226    'Item 指定したインデックスにある要素を取得または設定します。
    2327    Sub Operator[] ( index As Long, item As T )
     28        This.SetItem(index,item)
    2429    End Sub
    2530    Function Operator[] ( index As Long ) As T
     31        Return This.list.Item(index)
    2632    End Function
    2733
    2834Protected
    2935    'Collection をラップする IList ラッパーを取得します。
    30     Function Items (  ) As System.Collections.Generic.IList<T>
     36    Function Items () As Generic.IList<T>
     37        Return This
    3138    End Function
    3239
     
    3441    'Collection の末尾にオブジェクトを追加します。
    3542    Override Sub Add ( item As T )
     43        This.list.Add(item)
    3644    End Sub
    3745
    3846    'Collection からすべての要素を削除します。
    3947    Override Sub Clear ()
     48        This.ClearItems()
    4049    End Sub
    4150
     
    4857
    4958    'Collection を反復処理する列挙子を返します。
    50     Override Function GetEnumerator () As IEnumerator<T>
     59    Override Function GetEnumerator () As Generic.IEnumerator<T>
     60        Return This.Items().GetEnumerator()
    5161    End Function
    5262
    5363    '指定したオブジェクトを検索し、Collection 全体内で最初に見つかった位置の 0 から始まるインデックスを返します。
    5464    Override Function IndexOf ( item As T ) As Long
     65        Return This.list.IndexOf(item)
    5566    End Function
    5667
    5768    'Collection 内の指定したインデックスの位置に要素を挿入します。
    5869    Override Sub Insert ( index As Long, item As T )
     70        This.InsertItem(index,item)
    5971    End Sub
     72
     73    'IList が読み取り専用かどうかを示す値を取得します。
     74    Override Function IsReadOnly () As Boolean
     75        Return False
     76    End Function
    6077
    6178    'Collection 内で最初に見つかった特定のオブジェクトを削除します。
    6279    Override Function Remove ( item As T ) As Boolean
     80        Return This.RemoveItem(This.IndexOf(item))
    6381    End Function
    6482
    6583    'Collection の指定したインデックスにある要素を削除します。
    6684    Override Sub RemoveAt ( index As Long )
     85        This.RemoveItem(index)
    6786    End Sub
    6887
    6988    '現在の Object を表す String を返します。 (Object から継承されます。)
    7089    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
    7196    End Function
    7297
    7398Protected
    74 'Collection からすべての要素を削除します。
     99    'Collection からすべての要素を削除します。
    75100    Virtual Sub ClearItems ( )
     101        This.list.Clear()
    76102    End Sub
    77103
    78104    'Collection 内の指定したインデックスの位置に要素を挿入します。
    79105    Virtual Sub InsertItem ( index As Long, item As T )
     106        This.list.Insert(index,item)
    80107    End Sub
    81108
    82109    'Collection の指定したインデックスにある要素を削除します。
    83     Virtual Function RemoveItem ( item As T ) As Boolean
     110    Virtual Function RemoveItem ( index As Long ) As Boolean
     111        This.list.RemoveAt(index)
    84112    End Function
    85113   
     
    87115    '指定したインデックス位置にある要素を置き換えます。
    88116    Virtual Sub SetItem ( index As Long, item As T )
     117        This.list.Item(index,item)
    89118    End Sub
    90119
  • trunk/ab5.0/ablib/src/Classes/index.ab

    r614 r619  
    3636#require "./System/Collections/Generic/Stack.ab"
    3737#require "./System/Collections/Generic/KeyNotFoundException.ab"
     38#require "./System/Collections/ObjectModel/Collection.ab"
     39#require "./System/Collections/ObjectModel/ReadOnlyCollection.ab"
     40
    3841/*
    3942#require "./System/Data/Odbc/Odbc.ab"
Note: See TracChangeset for help on using the changeset viewer.