Aracılığıyla paylaş


CodeElement2 Arabirim

Kod öğesi veya bir kaynak dosyadaki yapı temsil eder.

Ad alanı:  EnvDTE80
Derleme:  EnvDTE80 (EnvDTE80.dll içinde)

Sözdizimi

'Bildirim
<GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")> _
Public Interface CodeElement2 _
    Inherits CodeElement
[GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")]
public interface CodeElement2 : CodeElement
[GuidAttribute(L"F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")]
public interface class CodeElement2 : CodeElement
[<GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")>]
type CodeElement2 =  
    interface 
        interface CodeElement 
    end
public interface CodeElement2 extends CodeElement

CodeElement2 türü aşağıdaki üyeleri ortaya koyar.

Özellikler

  Ad Açıklama
Genel özellik Children Bunun içinde bulunan nesneler topluluğu alır CodeElement2.
Genel özellik Collection Alır CodeElements koleksiyonu içeren CodeElement2 , bu özelliği destekler.
Genel özellik DTE Üst düzey bir geniþletilebilirlik nesnesi alır.
Genel özellik ElementID Öğeyi benzersiz olarak tanımlayan bir değer alır.Visual C# [NULL]'ta uygulanmadı.
Genel özellik EndPoint Kod öğesi sonuna konumudur metin noktası alır.
Genel özellik Extender Bu iş için varsa istenen Extender verir CodeElement2 nesne.Visual C# [NULL]'ta uygulanmadı.
Genel özellik ExtenderCATID Extender category ID (catID) için alır CodeElement2 nesne.Visual C# [NULL]'ta uygulanmadı.
Genel özellik ExtenderNames Kullanılabilir Extender için listesini alır CodeElement2 nesne.Visual C# [NULL]'ta uygulanmadı.
Genel özellik FullName Dosyanın tam yolunu ve adını alır CodeElement2 nesne dosyası.
Genel özellik InfoLocation Kod modeli özelliklerini alır.
Genel özellik IsCodeType Alır olup olmadığı bir CodeType nesne elde edilebilir gelen CodeElement2 nesne.
Genel özellik Kind Kod öğesi türünü tanımlayan bir numaralandırma alır.
Genel özellik Language Kullanılan programlama dili alır Yazar CodeElement2.
Genel özellik Name Alır veya ayarlar adını CodeElement2 nesne.
Genel özellik ProjectItem Alır ProjectItem nesnesi ile ilişkili CodeElement nesne.
Genel özellik StartPoint Alır bir TextPoint başına tanımlayan nesne CodeElement2.

Üst

Yöntemler

  Ad Açıklama
Genel yöntem GetEndPoint Alır bir TextPoint kod öðe tanýmýný sonunu işaretleyen nesne.
Genel yöntem GetStartPoint Alır bir TextPoint kod öğesi tanımı başlangıcını işaretleyen nesne.
Genel yöntem RenameSymbol Bildirilen bir nesnenin adını değiştirir ve geçerli projenin kapsamı içindeki tüm kod başvuruları güncelleştirir.

Üst

Notlar

Herhangi bir parça kod kod öğesi olabilir, ancak genellikle, yok bir CodeElement2 nesne her tanım veya herhangi bir dildeki tanımlayıcı sözdizimi için.En üst düzey tanımları veya bir dosyada bildirimleri için bunun anlamı, ya da sözdizimsel formlarda için bir sınıf tanımı ve diğerleri, karşılık gelen CodeElement2 nesne.

[!NOT]

Kod modeli öğe sınıfları, yapılar, İşlevler, öznitelikleri, temsilciler ve diğerleri gibi düzenlemeler değerlerine bağlı her zaman aynı kalmasına dayanıyordu olamaz, başka bir deyişle, belirli türdeki yaptıktan sonra kararlı olmayan olabilir.Daha fazla bilgi için kod modeli öğesi değerleri değiştirebilir bölümüne bakın Kod Modeli Kullanarak Kodu Keşfetme (Visual Basic).

Örnekler

[Visual Basic]

Sub IsCodeTypeExample(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 = vsCMElement.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 IsCodeTypeExample(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:" + 
        Environment.NewLine + Environment.NewLine + 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() + "]" + 
            Environment.NewLine);

        // 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);
    }
}

Ayrıca bkz.

Başvuru

EnvDTE80 Ad Alanı

Diğer Kaynaklar

Nasıl yapılır: Otomasyon Nesne Modeli Kod Örnekleri Derleme ve Çalıştırma

Kod Modeli Kullanarak Kodu Keşfetme (Visual Basic)

Kod Modeli Kullanarak Kodu Keşfetme (Visual C#)