Add メソッド (Collection オブジェクト)

更新 : 2007 年 11 月

Collection オブジェクトに要素を割り当てます。

Public Sub Add( _
   ByVal Item As Object, _
   Optional ByVal Key As String, _
   Optional ByVal { Before | After } As Object = Nothing _
)

パラメータ

  • Item
    必ず指定します。コレクションに追加する要素を指定する任意の型のオブジェクトです。

  • Key
    省略可能です。位置を示すインデックスの代わりに使用できるキー文字列を表す、一意な文字列 (String) 式を指定します。これを使ってコレクション内の新しい要素にアクセスします。

  • Before
    省略可能です。コレクション内の相対位置を式で指定します。追加される要素は、コレクション内の引数 Before で識別される要素の前に配置されます。Before が数式である場合、1 からコレクションの Count プロパティ (Collection オブジェクト) の値までの範囲の整数を指定する必要があります。文字列 (String) 式を使って指定する場合、Before には、参照先の要素をコレクションに追加したときに指定したキー文字列に一致する文字列を指定する必要があります。Before と After の両方を指定することはできません。

  • After
    省略可能です。コレクション内の相対位置を式で指定します。追加されるメンバは、コレクション内の引数 After で識別されるメンバの後に配置されます。After が数式である場合、1 からコレクションの Count プロパティの値までの範囲の整数を指定する必要があります。文字列 (String) 式を使って指定する場合、After には、参照先の要素をコレクションに追加したときに指定したキー文字列に一致する文字列を指定する必要があります。Before と After の両方を指定することはできません。

例外/エラー コード

例外の種類

エラー番号

条件

ArgumentException

5

  • Before および After がどちらも指定されている。

  • 引数 Before または After が存在するコレクションの要素を参照していない。

  • 指定された Key が既に存在する。

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、「エラー番号」列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と照らし合わせます)。しかし、可能な限り、このエラー処理は Visual Basic の構造化例外処理の概要 で置き換えてください。

解説

引数の Before または After は、コレクションの既存の要素を参照する必要があります。それ以外の場合はエラーが発生します。

また、指定した Key の値が、コレクションの既存要素のキーと一致する場合にも、エラーが発生します。

使用例

次の例では、Add メソッドを使用して child オブジェクト (Public プロパティ name を含む child というクラスのインスタンス) を、family というコレクションに追加します。この処理を確認するために、2 つの Button コントロールを持つForm を作成し、各ボタンの Text プロパティを Add および List に設定します。child のクラス定義と family の宣言をフォーム コードに追加します。Add および List ボタンの _Click イベント ハンドラを次のように変更します。Add ボタンをクリックすると子を追加できます。List ボタンをクリックするとすべての子の名前を表示します。

Public Class child
    Public name As String
    Sub New(ByVal newName As String)
        name = newName
    End Sub
End Class
' Create a Collection object.
Private family As New Collection()
Private Sub addChild_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
    Dim newName As String
    newName = InputBox("Name of new family member: ")
    If newName <> "" Then
        family.Add(New child(newName), newName)
    End If
End Sub
Private Sub listChild_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click
    For Each aChild As child In family
        MsgBox(aChild.name)
    Next
End Sub

必要条件

名前空間 : Microsoft.VisualBasic

モジュール : Collection

**アセンブリ :**Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

参照

Collection オブジェクト (Visual Basic)

Item プロパティ (Collection オブジェクト)

Remove メソッド (Collection オブジェクト)