نظرة عامة حول كائن 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 |
الوصف |
---|---|
يمثل بناء مساحة الاسم في الملف الالمصدر. |
|
يمثل بنية في تعليمات برمجية المصدر. |
|
يمثل واجهة في تعليمات برمجية المصدر. |
|
يمثل بنية في تعليمات برمجية المصدر. |
|
يمثل واجهة في تعليمات برمجية المصدر. |
|
يعرّف بناء متغير في الملف الالمصدر. |
|
يمثل بنية في تعليمات برمجية المصدر. |
|
يمثل تعليمات برمجية عنصر أو بناء في ملف المصدر. |
|
نماذج عنصر حدث التعليمات برمجية. |
|
يعرّف بناء خاصية في الملف الالمصدر. |
|
تعريف سمة لعنصر التعليمات برمجية. |
|
نماذج استخدام عبارات استيراد مساحات الأسماء. |
|
يمثل بناء مساحة الاسم في الملف الالمصدر. |
|
تعريف معلمة إلى الدالة و الخاصية إلخ. |
عناصر تعليمات برمجية متداخلة
يتم تنظيم عناصر تعليمات برمجية في تطبيق في هندسة متداخلة. على سبيل المثال، 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 |
|
CodeNamespace |
|
CodeProperty |
عناصر تعليمات برمجية من مراجع خارجية
قد يحتوي على تعليمات برمجية تعريفات نوع من أنواع معرفة في مراجع المشروع. (يتم إضافة مراجع المشروع من خلال مربع الحوار إضافة مراجع أو صواب References.Add أسلوب القابلية للتوسعة.) Visual Basic صواب لم يتم تحليل النظام CodeTypeRef2 كائنات تمثل هذه المراجع خارج الأسماء الخاصة بهم. لذلك، إذا حاولت استخدام أي من الخصائص الأخرى أو الأساليب CodeElement2 الكائن المقترنة صواب المرجع غير Name الخاصية ، استثناء "لم يتم التنفيذ" سوف يتم طرح. تتم الإشارة إلى هذه المراجع "نوع - اسم فقط" عناصر تعليمات برمجية. [تعيينالخاصية] الكائنات التي تمثل مراجع خارجية أن يكون لديك إلى .
أخطاء برنامج التحويل البرمجي وكائن CodeModel
عندما يتم كتابة تعليمات برمجية التي تحافظ عليها مراجع إلى CodeElement2كائنات يجب عليك أن تدرك أنه يمكن تغيير تعليمات برمجية المصدر الأساسي أثناء الضغط مرجع. قد يكون تم الحذف عنصر تعليمات برمجية أو إعادة تسميته أو تضمينها في خطأ المحول برمجي. عندما يحدث هذا، أي استدعاءات CodeElement2الكائن بإرجاع رسالة خطأ " استثناء من HRESULT: 0x80047E2C."
راجع أيضًا:
المهام
كيفية القيام بما يلي: استخدام كائن CodeModel إلى تحليل التعليمات البرمجية لـ Visual Basic
استكشاف أخطاء Visual Basic و #Visual C الامتداد
المبادئ
اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual Basic)
اكتشاف التعليمات البرمجية باستخدام "نموذج التعليمات البرمجية" (Visual C#)