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);
}
}
参照
処理手順
方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する