CodeClass.AddImplementedInterface(Object, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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).