مشاركة عبر


CodeElement2.Kind الخاصية

إحضار لتعداد يحدد نوع عنصر تعليمات برمجية.

مساحة الاسم:  EnvDTE80
التجميع:  EnvDTE80 (في EnvDTE80.dll)

بناء الجملة

'إقرار
ReadOnly Property Kind As vsCMElement
    Get
vsCMElement Kind { get; }
property vsCMElement Kind {
    vsCMElement get ();
}
abstract Kind : vsCMElement
function get Kind () : vsCMElement

قيمة الخاصية

النوع: EnvDTE.vsCMElement
vsCMElement2الالقيمة بتحديد العنصر رمز نوع.

التطبيقات

CodeElement.Kind

ملاحظات

ملاحظة

قيم عناصر نموذج تعليمات برمجية مثل فئات بنيات، الدالات، السمات، مفوضين وما إلى ذلك يمكن أن تكون غير محدداً بعد إجراء أنواع معينة من عمليات التحرير، مما يعني أن قيم الخاصة بها لا يمكن relied على إلى دوماً تبقى كما هي. للحصول على مزيد من المعلومات، راجع مقطع من "تعليمات برمجية طراز عنصر قيم يمكن تغيير" اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic).

أمثلة

[Visual Basic]

Sub KindExample(ByVal dte As DTE2)

    ' NOTE: This example requires a reference to the System.Text 
    '       namespace.

    ' Before running this example, open a code document from a project.
    Dim item As ProjectItem = dte.ActiveDocument.ProjectItem
    Dim sb As New StringBuilder

    RecurseElements(item.FileCodeModel.CodeElements, 0, sb)

    MsgBox(item.Name & " contains the following elements:" & vbCrLf & _
        vbCrLf & sb.ToString())

End Sub

Sub RecurseElements(ByVal elems As CodeElements, _
    ByVal level As Integer, ByVal sb As StringBuilder)

    Dim elem As CodeElement
    For Each elem In elems
        ' Add element to the list of names.
        sb.Append(" "c, level * 8)
        sb.Append(elem.Name & " [" & elem.Kind.ToString() & "]" & _
            vbCrLf)

        ' Call this function recursively if element has children.
        If elem.Kind = vsCMElement2.vsCMElementNamespace Then
            RecurseElements(CType(elem, CodeNamespace).Members, _
                level + 1, sb)
        ElseIf elem.IsCodeType Then
            RecurseElements(CType(elem, CodeType).Members, _
                level + 1, sb)
        End If
    Next

End Sub

[#C]

public void KindExample(DTE2 dte)
{
    // NOTE: This example requires a reference to the 
    //       System.Text namespace.

    // Before running this example, open a code document from 
    // a project.
    ProjectItem item = dte.ActiveDocument.ProjectItem;
    StringBuilder sb = new StringBuilder();

    RecurseElements(item.FileCodeModel.CodeElements, 0, sb);
    MessageBox.Show(item.Name + 
        " contains the following elements:\n\n" + sb.ToString());
}

void RecurseElements(CodeElements elems, int level, StringBuilder sb)
{
    foreach (CodeElement elem in elems)
    {
        // Add element to the list of names.
        sb.Append(' ', level * 8);
        sb.Append(elem.Name + " [" + elem.Kind.ToString() + "]\n");

        // Call this function recursively if element has children.
        if (elem.Kind == vsCMElement.vsCMElementNamespace)
            RecurseElements(((CodeNamespace)elem).Members, 
                level + 1, sb);
        else if (elem.IsCodeType)
            RecurseElements(((CodeType)elem).Members, level + 1, sb);
    }
}

أمن NET Framework.

راجع أيضًَا

المرجع

CodeElement2 واجهة

CodeElement2 الأعضاء

Kind التحميل الزائد

EnvDTE80 مساحة الاسم

موارد أخرى

كيفية: الترجمة وإعادة تشغيل أمثلة التعليمات البرمجية لطراز كائن التنفيذ التلقائي

اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic)

اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual C#)