Metoda CodeClass2.AddImplementedInterface —
Dodaje interfejs do listy obiektów dziedziczone.
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.dll)
Składnia
'Deklaracja
Function AddImplementedInterface ( _
Base As Object, _
Position As Object _
) As CodeInterface
CodeInterface AddImplementedInterface(
Object Base,
Object Position
)
CodeInterface^ AddImplementedInterface(
Object^ Base,
Object^ Position
)
abstract AddImplementedInterface :
Base:Object *
Position:Object -> CodeInterface
function AddImplementedInterface(
Base : Object,
Position : Object
) : CodeInterface
Parametry
Base
Typ: ObjectWymagany.Interfejs, który będzie wykonywał klasy.Jest to CodeInterface obiektu lub wpisz pełną nazwę.
Position
Typ: ObjectOpcjonalne.Default = 0.Element kodu, po którym chcesz dodać nowy interfejs.
Jeśli wartość jest typu danych Long, następnie Position wskazuje element, po którym ma być dodany nowy element.
Ponieważ kolekcje rozpoczynać się ich liczba 1, przekazując 0 wskazuje, że nowy element powinien być umieszczony na początku kolekcji.Wartość-1 oznacza element powinien być umieszczony na końcu.
Wartość zwracana
Typ: CodeInterface
Obiekt CodeInterface.
Uwagi
AddImplementedInterfacedodaje się odwołania do interfejsu, który CodeClass2 obiekt implementuje.AddImplementedInterfaceNie można wstawić metoda dla członków interfejsu.
Macierzysty Visual C++ wymaga formatu oddzielone dwukropkiem (:) dla jego nazwy typu pełni kwalifikowana.Inne języki obsługuje format oddzielonych od siebie kropkami.
Poprawności argumentów jest określana przez język za model kodu.
[!UWAGA]
Wartości elementów modelu kodu, takich jak klasy, strukturach, funkcje, atrybuty, delegatów i tak dalej mogą być deterministyczny po dokonaniu niektórych rodzajów modyfikacji, co oznacza, że ich wartości nie mogą być powoływane do zawsze pozostają takie same.Aby uzyskać więcej informacji, zobacz sekcję wartości elementu modelu kod można zmienić w Odnajdowanie kodu za pomocą modelu kodu (Visual Basic).
Przykłady
[Visual Basic]
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
[C#]
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;
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
Inne zasoby
Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady