مشاركة عبر


CodeModel.AddInterface أسلوب

قم بإنشاء واجهة جديدة تعليمات برمجية بناء وإدراج تعليمات برمجية في الموقع الصحيح.

مساحة الاسم:  EnvDTE
التجميع:  EnvDTE (في EnvDTE.dll)

بناء الجملة

'إقرار
Function AddInterface ( _
    Name As String, _
    Location As Object, _
    Position As Object, _
    Bases As Object, _
    Access As vsCMAccess _
) As CodeInterface
CodeInterface AddInterface(
    string Name,
    Object Location,
    Object Position,
    Object Bases,
    vsCMAccess Access
)
CodeInterface^ AddInterface(
    String^ Name, 
    Object^ Location, 
    Object^ Position, 
    Object^ Bases, 
    vsCMAccess Access
)
abstract AddInterface : 
        Name:string * 
        Location:Object * 
        Position:Object * 
        Bases:Object * 
        Access:vsCMAccess -> CodeInterface 
function AddInterface(
    Name : String, 
    Location : Object, 
    Position : Object, 
    Bases : Object, 
    Access : vsCMAccess
) : CodeInterface

المعلمات

  • Name
    النوع: System.String
    مطلوبة.اسم الواجهة إلى إضافة.
  • Location
    النوع: System.Object
    مطلوبة.المسار و ملف الاسم لتعريف واجهة جديدة.اعتماداً تشغيل اللغة، ملف اسم نسبية أو مطلقة للمشروع ملف.ملف يضاف إلى المشروع إذا لم تكن عنصر مشروع.إذا كان لا يمكن تاريخ الإنشاء الملف و قم بإضافتها إلى مشروع، ثم AddInterfaceلكنه فشل.
  • Position
    النوع: System.Object
    اختياري.الافتراضي = 0.عنصر تعليمات برمجية بعدها إلى إضافة العنصر الجديد.إذا كانت القيمة هو CodeElement، العنصر الجديد ثم هو إضافتها مباشرة بعد it.
    إذا كانت القيمة هو نوع بيانات طويلة، ثم AddInterfaceيشير إلى العنصر بعدها لإضافة عنصر جديد.
    يشير لأنه يبدأ مجموعة s بها عدد من 1، تمرير 0 إلى أنه يجب وضع العنصر الجديد في البداية مجموعة.تعني-1 يجب وضع العنصر في القيمة إنهاء.
  • Bases
    النوع: System.Object
    اختياري.الافتراضي value هوNothing.متغير يحتوي SafeArray من أسماء نوع المؤهل بالكامل "أو" CodeInterfaceالكائنات من مشتقة واجهة جديدة.

القيمة المُرجعة

النوع: EnvDTE.CodeInterface
كائن CodeInterface .

ملاحظات

يتطلب أصلي "أصلي Visual C + +" النقطتين مفصولة (::) تنسيق به مؤهل بشكل كامل نوع أسماء. الجميع اللغات الأخرى دعم تنسيق مفصولة بنقطة.

صحة الوسيطات هو يفرضها اللغة خلف طراز تعليمات برمجية.

ملاحظة

قيم عناصر نموذج تعليمات برمجية مثل فئات بنيات، الدالات، السمات، مفوضين وما إلى ذلك يمكن أن تكون غير محدداً بعد إجراء أنواع معينة من عمليات التحرير، مما يعني أن لا يكون relied قيمها على إلى دائماً تبقى كما هي. لمزيد من في تشكيل، راجع مقطع "تعليمات برمجية طراز عنصر قيم يمكن تغيير" في اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic).

أمثلة

Sub AddInterfaceExample(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.
        cm.AddInterface("TestInterface", projItem.Name, , 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 AddInterfaceExample(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.
        cm.AddInterface("TestInterface", projItem.Name, -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.

راجع أيضًَا

المرجع

CodeModel واجهة

CodeModel الأعضاء

EnvDTE مساحة الاسم

موارد أخرى

كيفية: الترجمة وإعادة تشغيل أمثلة التعليمات البرمجية لطراز كائن التنفيذ التلقائي

اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic)

اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual C#)