نظرة عامة حول كائن CodeModel لـ Visual Basic و C# للتطبيقات

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

CodeModel2الكائن هو كائن القابلية للتوسعة عام الذي يوفر الوصول إلى تعليمات برمجية الموجودة في التطبيقات. CodeModel2لا يوفر كائن قائمة نصية تعليمات برمجية. بدلاً من ذلك، يوفر متداخلة مجموعة من الكائنات التي تمثل عناصر تعليمات برمجية. على سبيل المثال، يتم تمثيل كل مساحة الاسم في تعليمات برمجية بواسطة أحد CodeNamespaceالكائن. CodeModel2الكائن المرتبط مع إليها مشروع CodeModelالخاصية.

FileCodeModel2الكائن هو كائن القابلية للتوسعة عام الذي يوفر الوصول إلى تعليمات برمجية الموجودة في التطبيقات. يتم تمثيل كل ملف المصدر في تطبيق ProjectItemالكائن، ومن FileCodeModel2تم العثور على كائن المقترنة عنصر مشروع في FileCodeModelالخاصية.

كلا CodeModel2و FileCodeModel2توفر الكائنات CodeModel2.CodeElementsو FileCodeModel.CodeElementsالخاصية، الترتيب، التي عبارة عن مجموعة من CodeElement2الكائنات. Visual Basicو#Visual CيعتمدCodeModel2وFileCodeModelالكائنات في طرق مختلفة قليلاً. راجع Visual Basic للحصول على مثال اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic) التنفيذ. راجع #Visual C للحصول على مثال اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual C#) التنفيذ.

لا تنفيذ بعض اللغات بأكمله Visual Studioطراز تعليمات برمجية. مواضيع التعليمات أشر الخروج استثناءات عند وجودها. معظم الاختلافات بين تطبيقات طراز تعليمات برمجية استحقاق إلى الاختلافات الوظيفية بين اللغات. على سبيل المثال، لا يمكنك إضافة الوظائف إلى CodeNamespaceالكائنات في Visual Basicأو #Visual Cلأن فقط Visual C++ملفات تعريف الدالة المستوى الأعلى الميزات.

نموذج تعليمات برمجية الأساسية الكائنات المسرودة في الجدول التالي. انقر فوق الارتباطات إلى انظر قائمة أساليب وخصائص لكل كائن.

Type

الوصف

CodeNamespace

يمثل بناء مساحة الاسم في الملف الالمصدر.

CodeStruct2

يمثل بنية في تعليمات برمجية المصدر.

CodeInterface2

يمثل واجهة في تعليمات برمجية المصدر.

CodeClass2

يمثل بنية في تعليمات برمجية المصدر.

CodeEnum

يمثل واجهة في تعليمات برمجية المصدر.

CodeVariable2

يعرّف بناء متغير في الملف الالمصدر.

CodeDelegate2

يمثل بنية في تعليمات برمجية المصدر.

CodeElement2

يمثل تعليمات برمجية عنصر أو بناء في ملف المصدر.

CodeEvent

نماذج عنصر حدث التعليمات برمجية.

CodeProperty2

يعرّف بناء خاصية في الملف الالمصدر.

CodeAttribute2

تعريف سمة لعنصر التعليمات برمجية.

CodeImport

نماذج استخدام عبارات استيراد مساحات الأسماء.

CodeFunction2

يمثل بناء مساحة الاسم في الملف الالمصدر.

CodeParameter2

تعريف معلمة إلى الدالة و الخاصية إلخ.

عناصر تعليمات برمجية متداخلة

يتم تنظيم عناصر تعليمات برمجية في تطبيق في هندسة متداخلة. على سبيل المثال، FileCodeModel2 مشروع صواب قد يحتوي على ، في به CodeElements مجموعة و عنصر التعليمات برمجية مساحة الاسم. CodeNamespace الكائن قد يمثل ذلك مساحة الاسم يحتوي على عدة التعليمات البرمجية الأخرى صواب التي تمثل الفئات في به Members الخاصية. كل CodeClass2 عنصر بدوره قد يحتوي على التعليمات البرمجية صواب يمثل خصائص ( CodeProperty2 الكائن) وأساليب ( CodeFunction2 الكائن). الأساليب لاسترداد تداخل رمز عناصر تعتمد على نوع العنصر تعليمات برمجية ولذلك تم وصفها في المقطع التالي.

فئات عنصر تعليمات برمجية

CodeElement2 الفئة هي فئة أساسية يمثل كافة التعليمات البرمجية صواب في عنصر مشروع (الملف المصدر). اشتقاق الفئات العديد من صواب CodeElement2 لتمثيل العكسية، تكون بنية في تطبيق ما، بما في ذلك مساحات أسماء الفئات ، ، الأساليب والخصائص الأحداث. توجد فئتان expansive عناصر تعليمات برمجية — التي تمثل أنواع وتلك التي لا تملكها.

تمثيل بعض عناصر تعليمات برمجية في تطبيق أنواع. عناصر التعليمات البرمجية هذه مشتقة من CodeType الكائن كما CodeElement2 الكائن:

يمكنك تحديد إذا مرجع CodeElement2 الكائن أحد أنواع هذه باستخدام IsCodeType صواب. إلى البحث عن عناصر تعليمات برمجية المتداخلة هذه الأنواع, استخدم الخاصية إرجاع مجموعة . كيفية القيام بما يلي: استخدام كائن CodeModel إلى تحليل التعليمات البرمجية لـ Visual Basic يتضمن مثال يبحث عن الكل الفئات في مشروع.

كيف إلى البحث عن عناصر تعليمات برمجية التي تم عمل تداخل لها تحت أنواع أخرى من عناصر تعليمات برمجية يعتمد تشغيل نوع العنصر رمز المتداخلة. على سبيل المثال، بسبب خاصية فقط على Get و Set أسلوب CodeProperty2 الكائن المقترنة صواب يحتوي على خاصية Getter و Setter الخصائص التي ترجع CodeFunction2 عناصر. تعرض القائمة التالية الخصائص إلى استخدام إلى البحث عن عناصر تعليمات برمجية المتداخلة التعليمة البرمجية أنواع العنصر.

Type

الخصائص

CodeFunction

Parameters

CodeNamespace

Members

CodeProperty

Getter و Setter

عناصر تعليمات برمجية من مراجع خارجية

قد يحتوي على تعليمات برمجية تعريفات نوع من أنواع معرفة في مراجع المشروع. (يتم إضافة مراجع المشروع من خلال مربع الحوار إضافة مراجع أو صواب References.Add أسلوب القابلية للتوسعة.) Visual Basic صواب لم يتم تحليل النظام CodeTypeRef2 كائنات تمثل هذه المراجع خارج الأسماء الخاصة بهم. لذلك، إذا حاولت استخدام أي من الخصائص الأخرى أو الأساليب CodeElement2 الكائن المقترنة صواب المرجع غير Name الخاصية ، استثناء "لم يتم التنفيذ" سوف يتم طرح. تتم الإشارة إلى هذه المراجع "نوع - اسم فقط" عناصر تعليمات برمجية. [تعيينالخاصية] الكائنات التي تمثل مراجع خارجية أن يكون لديك إلى .

أخطاء برنامج التحويل البرمجي وكائن CodeModel

عندما يتم كتابة تعليمات برمجية التي تحافظ عليها مراجع إلى CodeElement2كائنات يجب عليك أن تدرك أنه يمكن تغيير تعليمات برمجية المصدر الأساسي أثناء الضغط مرجع. قد يكون تم الحذف عنصر تعليمات برمجية أو إعادة تسميته أو تضمينها في خطأ المحول برمجي. عندما يحدث هذا، أي استدعاءات CodeElement2الكائن بإرجاع رسالة خطأ "‏‏ استثناء من HRESULT: 0x80047E2C."

راجع أيضًا:

المهام

كيفية القيام بما يلي: استخدام كائن CodeModel إلى تحليل التعليمات البرمجية لـ Visual Basic

استكشاف أخطاء Visual Basic و ‏‫#Visual C الامتداد

المبادئ

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

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