次の方法で共有


Reference.Collection プロパティ

このプロパティをサポートしているオブジェクトまたはこのコード コンストラクタに含まれているオブジェクトを含むコレクションを取得します。

名前空間: VSLangProj
アセンブリ: VSLangProj (vslangproj.dll 内)

構文

'宣言
'使用

プロパティ値

オブジェクトに関連するコレクションを返します。詳細については、「解説」を参照してください。

解説

構文の <CollectionName> は、オブジェクトに関連する適切なコレクションの名前です。たとえば、TextRange オブジェクトの <CollectionName> は TextRanges になります。ToolBoxTab オブジェクトの <CollectionName> は ToolBoxTabs になります。一般に、コレクション名はオブジェクト名の複数形です。

使用例

Sub CollectionExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a class definition.
    Try
        ' Retrieve the CodeClass at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim cls As CodeClass = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementClass), CodeClass)
        Dim elem As CodeElement
        Dim peers As String

        ' List all peer elements of the CodeClass.
        For Each elem In cls.Collection
            If Not (elem Is cls) And Not IsNothing(elem.Name) Then
                peers &= elem.Name & " (" & elem.Kind.ToString() & _
                    ")" & vbCrLf
            End If
        Next

        MsgBox(cls.Name & " has the following peer elements:" & _
            vbCrLf & vbCrLf & peers)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void CollectionExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a class definition.
    try
    {
        // Retrieve the CodeClass at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeClass cls = 
            (CodeClass)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementClass);
        string peers = "";

        // List all peer elements of the CodeClass.
        foreach (CodeElement elem in cls.Collection)
        {
            if ((elem != cls) && (elem.Name != null))
                peers += elem.Name + " (" + elem.Kind.ToString() 
                    + ")\n";
        }

        MessageBox.Show(cls.Name + 
            " has the following peer elements:\n\n" + peers);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

参照

処理手順

方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する

関連項目

Reference インターフェイス
Reference メンバ
VSLangProj 名前空間