FileCodeModel.AddClass أسلوب
قم بإنشاء فئة جديدة تعليمات برمجية بناء وإدراج تعليمات برمجية في الموقع الصحيح.
مساحة الاسم: EnvDTE
التجميع: EnvDTE (في EnvDTE.dll)
بناء الجملة
'إقرار
Function AddClass ( _
Name As String, _
Position As Object, _
Bases As Object, _
ImplementedInterfaces As Object, _
Access As vsCMAccess _
) As CodeClass
CodeClass AddClass(
string Name,
Object Position,
Object Bases,
Object ImplementedInterfaces,
vsCMAccess Access
)
CodeClass^ AddClass(
String^ Name,
Object^ Position,
Object^ Bases,
Object^ ImplementedInterfaces,
vsCMAccess Access
)
abstract AddClass :
Name:string *
Position:Object *
Bases:Object *
ImplementedInterfaces:Object *
Access:vsCMAccess -> CodeClass
function AddClass(
Name : String,
Position : Object,
Bases : Object,
ImplementedInterfaces : Object,
Access : vsCMAccess
) : CodeClass
المعلمات
- Name
النوع: System.String
مطلوبة.الاسم فئة.
- Position
النوع: System.Object
اختياري.الافتراضي = 0.عنصر تعليمات برمجية بعدها إلى إضافة العنصر الجديد.إذا كانت القيمة هو CodeElement، العنصر الجديد ثم هو إضافتها مباشرة بعد it.
إذا كانت القيمة هو نوع بيانات طويلة، ثم AddClassيشير إلى العنصر بعدها لإضافة عنصر جديد.
يشير لأنه يبدأ مجموعة s بها عدد من 1، تمرير 0 إلى أنه يجب وضع العنصر الجديد في البداية مجموعة.-1 تعني القيمة عنصر يجب أن توضع في النهاية.
- Bases
النوع: System.Object
اختياري.الافتراضي = 0.SafeArray أسماء نوع المؤهل بالكامل "أو" CodeClassالكائنات منها الجديدة فئة يرث بها تطبيقات.
- ImplementedInterfaces
النوع: System.Object
اختياري.الافتراضي = 0.SafeArray أسماء نوع المؤهل بالكامل "أو" CodeInterfaceعلى الكائنات، كل يمثل واجهة الفئة الجديدة promises إلى تنفيذ.
- Access
النوع: EnvDTE.vsCMAccess
اختياري.A vsCMAccess ثابت.
القيمة المُرجعة
النوع: EnvDTE.CodeClass
كائن CodeClass .
ملاحظات
صحة الوسيطات هو يفرضها اللغة خلف طراز تعليمات برمجية.
أمثلة
Sub AddClassExample2(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 classes array and the implemented
' interfaces array.
Dim bases() As Object = {ConvertFullName(cm, "System.Object")}
Dim interfaces() As Object = { _
ConvertFullName(cm, "System.IDisposable"), _
ConvertFullName(cm, "System.IComparable") _
}
' Create a new class.
projItem.FileCodeModel.AddClass("TestClass", , bases, _
interfaces)
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 AddClassExample2(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 classes array and the implemented
// interfaces array.
object[] bases = {ConvertFullName(cm, "System.Object")};
object[] interfaces = {
ConvertFullName(cm, "System.IDisposable"),
ConvertFullName(cm, "System.IComparable")
};
// Create a new class.
projItem.FileCodeModel.AddClass("TestClass", -1, bases,
interfaces, 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.
- الثقة الكاملة للمتصل الفوري. يتعذر استخدام هذا العضو بواسطة التعليمات البرمجية الموثوق بها جزئيًا. لمزيد من المعلومات، راجع باستخدام مكتبات من تعليمات برمجية موثوق بها جزئي.
راجع أيضًَا
المرجع
موارد أخرى
كيفية: الترجمة وإعادة تشغيل أمثلة التعليمات البرمجية لطراز كائن التنفيذ التلقائي