Aracılığıyla paylaş


CodeClass2.AddBase Yöntem

Devralınan nesnelerinin listesine öğe ekler.

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

Sözdizimi

'Bildirim
Function AddBase ( _
    Base As Object, _
    Position As Object _
) As CodeElement
CodeElement AddBase(
    Object Base,
    Object Position
)
CodeElement^ AddBase(
    Object^ Base, 
    Object^ Position
)
abstract AddBase : 
        Base:Object * 
        Position:Object -> CodeElement
function AddBase(
    Base : Object, 
    Position : Object
) : CodeElement

Parametreler

  • Base
    Tür: Object

    Gerekli.Uygulama, ya da türetmek sınıf bir CodeClass veya tam tür adı.Yerel Visual C++, tam nitelikli tür adları için ayrılmış iki nokta üst üste (:) biçimi gerektirir.Diğer tüm diller dönemi ayrılmış biçimi kullanın.

  • Position
    Tür: Object

    İsteğe bağlı.Varsayılan = 0.Kod öğesi sonra yeni Bankası eklenecek.

    Değeri bir Long veri türü, daha sonra ise Position sonra yeni Bankası eklenecek öğeyi gösterir.

    0 geçirerek koleksiyonları kendi sayısı 1'den başladığı için yeni öğe koleksiyonu başında yerleştirilmesi gerektiğini gösterir.Değeri-1 öğe sonunda yerleştirilmelidir.

Dönüş Değeri

Tür: CodeElement
CodeElement nesnesi

Notlar

AddBase Yöntem döndürür bir CodeElement nesne yerine bir CodeType Visual C++ uyması için.Kind Döndürülen nesne vsCMElementVCBase Visual C++ uygulaması için.

[!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 AddBaseExample(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 cm As CodeModel = _
            cls.ProjectItem.ContainingProject.CodeModel

        ' Create a fully qualified base name.
        Dim baseName As String = ConvertFullName(cm, _
            "System.Collections.CollectionBase")
        ' Add a base to the class.
        cls.AddBase(baseName)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

Function ConvertFullName(ByVal cm As CodeModel, _
    ByVal fullName As String) As String
    ' Convert a .NET type name into a C++ type name.
    If (cm.Language = CodeModelLanguageConstants.vsCMLanguageVC) Or _
        (cm.Language = CodeModelLanguageConstants.vsCMLanguageMC) Then
        Return fullName.Replace(".", "::")
    Else
        Return fullName
    End If
End Function

[C#]

public void AddBaseExample(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);
        CodeModel cm = cls.ProjectItem.ContainingProject.CodeModel;

        // Create a fully qualified base name.
        string baseName = ConvertFullName(cm, 
            "System.Collections.CollectionBase");

        // Add a base to the class.
        cls.AddBase(baseName, -1);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

string ConvertFullName(CodeModel cm, string fullName)
{
    // Convert a .NET type name into a C++ type name.
    if ((cm.Language == CodeModelLanguageConstants.vsCMLanguageVC) || 
        (cm.Language == CodeModelLanguageConstants.vsCMLanguageMC))
        return fullName.Replace(".", "::");
    else
        return fullName;
}

.NET Framework Güvenliği

Ayrıca bkz.

Başvuru

CodeClass2 Arabirim

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#)