CodeClass2.AddBase(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 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 CodeClass veya tam nitelikli tür adı. Yerel 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 kullanır.
- Position
- Object
İsteğe bağlı. Varsayılan = 0. Yeni temel eklenecek kod öğesi.
Değer uzun bir veri türü ise, konum yeni temel eklenecek öğ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 CodeElement nesnesi.
Uygulamalar
- Öznitelikler
Ö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
Þ
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
AddBaseYöntemi, CodeElement CodeType Visual C++ uyum sağlamak için yerine bir nesne döndürür. KindDö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).