FileCodeModel.AddInterface Yöntem
Yeni bir arabirim kod yapısı oluşturur ve doğru konumda kodu ekler.
Ad alanı: EnvDTE
Derleme: EnvDTE (EnvDTE.dll içinde)
Sözdizimi
'Bildirim
Function AddInterface ( _
Name As String, _
Position As Object, _
Bases As Object, _
Access As vsCMAccess _
) As CodeInterface
CodeInterface AddInterface(
string Name,
Object Position,
Object Bases,
vsCMAccess Access
)
CodeInterface^ AddInterface(
String^ Name,
Object^ Position,
Object^ Bases,
vsCMAccess Access
)
abstract AddInterface :
Name:string *
Position:Object *
Bases:Object *
Access:vsCMAccess -> CodeInterface
function AddInterface(
Name : String,
Position : Object,
Bases : Object,
Access : vsCMAccess
) : CodeInterface
Parametreler
- Name
Tür: System.String
Gerekli.Yeni arabirimin adı.
- Position
Tür: System.Object
İsteğe Bağlı.Varsayılan = 0.Kod öğesi sonra yeni öğe eklemek.Değer ise, bir CodeElement, sonra yeni öðe eklenir it. hemen sonra
Değeri uzun veri türü, daha sonra ise AddInterface gösterir öğesi sonra ekleme yeni bir öğe.
Koleksiyonları kendi sayısı 1 başladığı için 0 geçirerek yeni öğe koleksiyonu başında yerleştirilmesi gerektiğini belirtir.Değeri-1 öğesinin sonuna yerleştirilmelidir.
- Bases
Tür: System.Object
İsteğe Bağlı.Varsayılan değer Nothing'dur.SafeArray tam tür adı taşıyan bir variant veya CodeInterface nesneleri, yeni arabirim türer.
- Access
Tür: EnvDTE.vsCMAccess
İsteğe Bağlı.A vsCMAccess sabiti.
Dönüş Değeri
Tür: EnvDTE.CodeInterface
CodeInterface nesnesi
Açıklamalar
Visual c++ gerektirir iki nokta üst üste ayrılmış (::) için onun tam tür adları biçimlendirin. Diğer tüm diller noktalarla ayrılmış biçimi desteklemiyor.
Bağımsız değişkenler doğruluğunu arkasında kod modeli dil tarafından belirlenir.
Örnekler
Sub AddInterfaceExample2(ByVal dte As DTE2)
' Before running this example, open a code document from a project.
Try
Dim projItem As ProjectItem = dte.ActiveDocument.ProjectItem
Dim cm As CodeModel = projItem.ContainingProject.CodeModel
' Initialize the base interfaces array.
Dim bases() As Object = { _
ConvertFullName(cm, "System.IDisposable"), _
ConvertFullName(cm, "System.IComparable") _
}
' Create a new class.
projItem.FileCodeModel.AddInterface("TestInterface", , bases)
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 AddInterfaceExample2(DTE2 dte)
{
// Before running this example, open a code document from
// a project.
try
{
ProjectItem projItem = dte.ActiveDocument.ProjectItem;
CodeModel cm = projItem.ContainingProject.CodeModel;
// Initialize the base interfaces array.
object[] bases = {
ConvertFullName(cm, "System.IDisposable"),
ConvertFullName(cm, "System.IComparable")
};
// Create a new class.
projItem.FileCodeModel.AddInterface("TestInterface", -1, bases,
vsCMAccess.vsCMAccessPublic);
}
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;
}
.NET Framework Güvenliği
- Anında arayanlar için tam güven. Bu üye kısmen güvenilen kodla kullanılamaz. Daha fazla bilgi için bkz. kısmen güvenilir kod tarafından Kitaplıklar kullanma.
Ayrıca bkz.
Başvuru
Diğer Kaynaklar
Nasıl Yapılır: derlemek ve otomasyon nesne modeli kod örnekleri çalıştırma