CodeClass.AddImplementedInterface(Object, Object) Yöntem

Tanım

Devralınan nesnelerin listesine bir arabirim ekler.

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

Parametreler

Base
Object

Gereklidir. Sınıfın uygulayamayacağı arabirim. Bu ya da CodeInterface tam nitelikli bir tür adı.

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 AddImplementedInterface(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

CodeInterface

Bir CodeInterface nesnesi.

Öznitelikler

Örnekler

 Sub AddImplementedInterfaceExample(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  

        ' Add a new implemented interface to the class.  
        cls.AddImplementedInterface(ConvertFullName(cm, _  
            "System.IDisposable"))  
    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 AddImplementedInterfaceExample(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;  

        // Add a new implemented interface to the class.  
        cls.AddImplementedInterface(ConvertFullName(cm,   
            "System.IDisposable"), -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

AddImplementedInterface uygulayan bir arabirime bir başvuru ekler CodeClass . AddImplementedInterface arabirim üyeleri için yöntem saplamalarını eklemez.

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.

Bağımsız değişkenlerin doğruluğu, kod modelinin arkasındaki dile göre belirlenir.

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