CodeClass.AddBase(Object, Object) Yöntem

Tanım

Devralınan nesneler listesine bir öğe ekler.

EnvDTE::CodeElement AddBase(winrt::Windows::Foundation::IInspectable const & Base, winrt::Windows::Foundation::IInspectable const & Position);
[System.Runtime.InteropServices.DispId(39)]
public EnvDTE.CodeElement AddBase (object Base, object Position);
[<System.Runtime.InteropServices.DispId(39)>]
abstract member AddBase : obj * obj -> EnvDTE.CodeElement
Public Function AddBase (Base As Object, Optional Position As Object) As CodeElement

Parametreler

Base
Object

Gereklidir. Uygulamanın türetileceğini belirten sınıf.

CodeClassNesneler için, bu ya da CodeClass tam nitelikli bir tür adıdır. Visual C++, iki nokta üst üste ayrılmış (::) tam nitelikli tür adları için biçim. Diğer tüm diller noktayla ayrılmış biçimi destekler.

Position
Object

İsteğe bağlı. Varsayılan = 0. Yeni öğenin ekleneceği kod öğesi. Değer bir ise CodeElement , yeni öğe öğesinden hemen sonra eklenir.

Değer uzunsa, sonra AddBase(Object, Object) yeni öğenin ekleneceği öğeyi gösterir.

Koleksiyonlar 1 ' de sayımına başlayacağı için 0 geçirme, yeni öğenin koleksiyonun başına yerleştirilmesi gerektiğini gösterir. -1 değeri, öğenin sonuna yerleştirilmesi gerektiği anlamına gelir.

Döndürülenler

CodeElement

Bir CodeElement nesnesi.

Öznitelikler

Örnekler

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

Açıklamalar

AddBaseCodeElementVisual C++ barındırmak için yerine bir nesnesi döndürür CodeType ve Kind döndürülen nesnenin vsCMElementVCBase Visual C++ uygulanması içindir.

Not

Sınıfların, yapıların, işlevlerin, özniteliklerin, temsilcilerin ve bu gibi kod modeli öğelerinin değerleri, belirli tür düzenlemeler yapıldıktan sonra belirleyici olmayan bir değer olabilir, yani değerlerinin her zaman aynı kalır. Daha fazla bilgi için bkz. kod modeli öğe değerleri, kod modeli kullanılarak kod bulma bölümünde değişebilir (Visual Basic).

Şunlara uygulanır