اقرأ باللغة الإنجليزية

مشاركة عبر


CodeModel2.AddFunction أسلوب (String, Object, vsCMFunction, Object, Object, vsCMAccess)

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

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

بناء الجملة

'إقرار
Function AddFunction ( _
    Name As String, _
    Location As Object, _
    Kind As vsCMFunction, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess _
) As CodeFunction
CodeFunction AddFunction(
    string Name,
    Object Location,
    vsCMFunction Kind,
    Object Type,
    Object Position,
    vsCMAccess Access
)
CodeFunction^ AddFunction(
    String^ Name, 
    Object^ Location, 
    vsCMFunction Kind, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access
)
abstract AddFunction : 
        Name:string * 
        Location:Object * 
        Kind:vsCMFunction * 
        Type:Object * 
        Position:Object * 
        Access:vsCMAccess -> CodeFunction 
function AddFunction(
    Name : String, 
    Location : Object, 
    Kind : vsCMFunction, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess
) : CodeFunction

المعلمات

  • Name
    النوع: System.String
    مطلوبة.الاسم جديد دالة.
  • Location
    النوع: System.Object
    مطلوبة.المسار و اسم ملف تعريف جديد للدالة.اعتماداً تشغيل اللغة، ملف اسم نسبية أو مطلقة للمشروع ملف.ملف يضاف إلى المشروع إذا لم تكن عنصر مشروع.إذا كان لا يمكن تاريخ الإنشاء الملف و قم بإضافتها إلى مشروع، ثم AddFunctionلكنه فشل.
  • Kind
    النوع: EnvDTE.vsCMFunction
    مطلوبة.vsCMFunctionثابت يشير إلى النوع دالة، مثل كـ ما إذا كانت الدالة يحصل خاصية أسلوب وما إلى ذلك.
  • Type
    النوع: System.Object
    مطلوبة.vsCMTypeRefنوع ثابت يشير إلى بيانات التي تقوم بإرجاع دالة.يمكن أن يكون CodeTypeRefالكائن، vsCMTypeRefثابت أو مؤهل بشكل كامل اسم النوع.
  • Position
    النوع: System.Object
    اختياري.الافتراضي = 0.عنصر تعليمات برمجية بعدها إلى إضافة العنصر الجديد.إذا كانت القيمة هو CodeElement، العنصر الجديد ثم هو إضافتها مباشرة بعد it.
    إذا كانت القيمة هو نوع بيانات طويلة، ثم AddFunctionيشير إلى العنصر بعدها لإضافة عنصر جديد.
    يشير لأنه يبدأ مجموعة s بها عدد من 1، تمرير 0 إلى أنه يجب وضع العنصر الجديد في البداية مجموعة.-1 تعني القيمة عنصر يجب أن توضع في النهاية.

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

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

التطبيقات

CodeModel.AddFunction(String, Object, vsCMFunction, Object, Object, vsCMAccess)

ملاحظات

You might إضافة an التحميل الزائد عامل (using vsCMFunctionOperator) كـ في the following مثال.

Sub testAddOverloadOperatorCPP()

Dim fcm As FileCodeModel = _

DTE.ActiveDocument.ProjectItem.FileCodeModel

Dim cc As CodeClass = fcm.CodeElements.Item("someClassName")

cc.AddFunction("+", vsCMFunction.vsCMFunctionOperator, _

vsCMTypeRef.vsCMTypeRefInt)

'cc.AddFunction("someFunction +", _

vsCMFunction.vsCMFunctionFunction, vsCMTypeRef.vsCMTypeRefInt)

End Sub

في this حالة, you must بوضوح specify the اسم دالة you want إلى التحميل الزائد (في this مثال, "someFunction") في the يتصل إلى AddFunction, not just the التحميل الزائد عامل itself. Using the above تعليمات برمجية كـ an مثال,

cc.AddFunction("+", vsCMFunction.vsCMFunctionOperator,...)

does not work. You must instead استخدم

cc.AddFunction("someFunction +", vsCMFunction.vsCMFunctionFunction,...)

فقط Visual C++ implements this أسلوب because C#, Visual Basic, و J# do not allow الأعلى-المستوى دالات.

أصلي Visual C++ يتطلب the colon-separated (::) تنسيق for its fully qualified نوع أسماء.

ملاحظة

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

أمثلة

Sub AddFunctionExample(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

        ' Create a new function.
        cm.AddFunction("TestFunction", projItem.Name, _
            vsCMFunction.vsCMFunctionFunction, _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AddFunctionExample(DTE2 dte)
{
    // Before running this example, open a code document from 
    // a project.
    try
    {
        ProjectItem projItem = dte.ActiveDocument.ProjectItem;
        CodeModel cm = projItem.ContainingProject.CodeModel;

        // Create a new function.
        cm.AddFunction("TestFunction", projItem.Name, _
            vsCMFunction.vsCMFunctionFunction, _
            vsCMTypeRef.vsCMTypeRefInt, -1, _
            vsCMAccess.vsCMAccessDefault);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

أمن NET Framework.

راجع أيضًَا

المرجع

CodeModel2 واجهة

CodeModel2 الأعضاء

AddFunction التحميل الزائد

EnvDTE80 مساحة الاسم

موارد أخرى

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

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

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