Changeset 619


Ignore:
Timestamp:
2008/08/25 01:27:43 (4 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.