CodeModel.AddFunction أسلوب
قم بإنشاء دالة جديدة تعليمات برمجية بناء وإدراج تعليمات برمجية في الموقع الصحيح.
مساحة الاسم: EnvDTE
التجميع: EnvDTE (في EnvDTE.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 يجب وضع العنصر في القيمة إنهاء.
- Access
النوع: EnvDTE.vsCMAccess
اختياري.A vsCMAccess ثابت.
القيمة المُرجعة
النوع: EnvDTE.CodeFunction
كائن CodeFunction .
ملاحظات
يلي تعليمات برمجية يضيف عامل التحميل الزائد باستخدام vsCMFunction.vsCMFunctionOperator.
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
في هذه الحالة، يجب عليك بوضوح تحديد اسم دالة التي تريد إلى التحميل الزائد (في هذه الحالة، "someFunction") في $ $ $ $ استدعاء إلى AddFunction، ليس فقط operaإلىr التحميل الزائد بنفسه.
استخدام تعليمات برمجية أعلاه كـ سبيل المثال، cc.AddFunction("+", vsCMFunction.vsCMFunctionOperator,...)لا غير العمل. بدلاً من ذلك، يجب استخدام cc.AddFunction("someFunction +", vsCMFunction.vsCMFunctionFunction,...)
يطبق فقط Visual C + + AddFunction، لأنه لا تسمح C# و Visual أساسى، و J# الوظائف ذات المستوى الأعلى.
يتطلب أصلي "أصلي Visual C + +" النقطتين مفصولة (::) تنسيق به مؤهل بشكل كامل نوع أسماء.
ملاحظة
قيم عناصر نموذج تعليمات برمجية مثل فئات بنيات، الدالات، السمات، مفوضين وما إلى ذلك يمكن أن تكون غير محدداً بعد إجراء أنواع معينة من عمليات التحرير، مما يعني أن لا يكون 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.
- الثقة الكاملة للمتصل الفوري. يتعذر استخدام هذا العضو بواسطة التعليمات البرمجية الموثوق بها جزئيًا. لمزيد من المعلومات، راجع باستخدام مكتبات من تعليمات برمجية موثوق بها جزئي.
راجع أيضًَا
المرجع
موارد أخرى
كيفية: الترجمة وإعادة تشغيل أمثلة التعليمات البرمجية لطراز كائن التنفيذ التلقائي
اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic)
اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual C#)