CodeModel.AddStruct أسلوب
يقوم بإنشاء جديد إنشاء بنية تعليمات برمجية وقم بإدراج التعليمة البرمجية في الموقع الصحيح.
مساحة الاسم: EnvDTE
التجميع: EnvDTE (في EnvDTE.dll)
بناء الجملة
'إقرار
Function AddStruct ( _
Name As String, _
Location As Object, _
Position As Object, _
Bases As Object, _
ImplementedInterfaces As Object, _
Access As vsCMAccess _
) As CodeStruct
CodeStruct AddStruct(
string Name,
Object Location,
Object Position,
Object Bases,
Object ImplementedInterfaces,
vsCMAccess Access
)
CodeStruct^ AddStruct(
String^ Name,
Object^ Location,
Object^ Position,
Object^ Bases,
Object^ ImplementedInterfaces,
vsCMAccess Access
)
abstract AddStruct :
Name:string *
Location:Object *
Position:Object *
Bases:Object *
ImplementedInterfaces:Object *
Access:vsCMAccess -> CodeStruct
function AddStruct(
Name : String,
Location : Object,
Position : Object,
Bases : Object,
ImplementedInterfaces : Object,
Access : vsCMAccess
) : CodeStruct
المعلمات
- Name
النوع: System.String
مطلوبة.اسم بنية جديدة.
- Location
النوع: System.Object
مطلوبة.اسم الملف والمسار جديد بناء تعريف.اعتماداً تشغيل اللغة، ملف اسم نسبية أو مطلقة للمشروع ملف.ملف يضاف إلى المشروع إذا لم تكن عنصر مشروع.إذا كان لا يمكن تاريخ الإنشاء الملف و قم بإضافتها إلى مشروع، ثم AddStructلكنه فشل.
- Position
النوع: System.Object
اختياري.الافتراضي = 0.عنصر تعليمات برمجية بعدها إلى إضافة العنصر الجديد.إذا كانت القيمة هو CodeElement، العنصر الجديد ثم هو إضافتها مباشرة بعد it.
إذا كانت القيمة هو نوع بيانات طويلة، ثم AddStructيشير إلى العنصر بعدها لإضافة عنصر جديد.
يشير لأنه يبدأ مجموعة s بها عدد من 1، تمرير 0 إلى أنه يجب وضع العنصر الجديد في البداية مجموعة.تعني-1 يجب وضع العنصر في القيمة إنهاء.
- Bases
النوع: System.Object
مطلوبة.الافتراضي value هوNothing.متغير يحتوي SafeArray من أسماء نوع المؤهل بالكامل "أو" CodeInterfaceالكائنات من مشتقة واجهة جديدة.
- ImplementedInterfaces
النوع: System.Object
مطلوبة.الافتراضي value هوNothing.SafeArray أسماء نوع المؤهل بالكامل "أو" CodeInterfaceالكائنات التي تمثل واجهات promises الفئة الجديدة إلى. تنفيذ
- Access
النوع: EnvDTE.vsCMAccess
اختياري.A vsCMAccess ثابت.
القيمة المُرجعة
النوع: EnvDTE.CodeStruct
كائن CodeStruct .
ملاحظات
يتطلب أصلي "أصلي Visual C + +" النقطتين مفصولة (::) تنسيق به مؤهل بشكل كامل نوع أسماء. الجميع اللغات الأخرى دعم تنسيق مفصولة بنقطة.
صحة الوسيطات هو يفرضها اللغة خلف طراز تعليمات برمجية.
ملاحظة
قيم عناصر نموذج تعليمات برمجية مثل فئات بنيات، الدالات، السمات، مفوضين وما إلى ذلك يمكن أن تكون غير محدداً بعد إجراء أنواع معينة من عمليات التحرير، مما يعني أن لا يكون relied قيمها على إلى دائماً تبقى كما هي. لمزيد من في تشكيل، راجع مقطع "تعليمات برمجية طراز عنصر قيم يمكن تغيير" في اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic).
أمثلة
Sub AddStructExample(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 struct.
cm.AddStruct("TestStruct", projItem.Name, , 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 AddStructExample(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 struct.
cm.AddStruct("TestStruct", projItem.Name, -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.
- الثقة الكاملة للمتصل الفوري. يتعذر استخدام هذا العضو بواسطة التعليمات البرمجية الموثوق بها جزئيًا. لمزيد من المعلومات، راجع باستخدام مكتبات من تعليمات برمجية موثوق بها جزئي.
راجع أيضًَا
المرجع
موارد أخرى
كيفية: الترجمة وإعادة تشغيل أمثلة التعليمات البرمجية لطراز كائن التنفيذ التلقائي
اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic)
اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual C#)