نظرة عامة حول التعليقات التوضيحية
السماح بالتعليقات التوضيحية الدالات إلى بوضوح لالولاية المشكلة. يمكن للمطورين يضمّن التعليقات التوضيحية الوظيفية في إلى تعليمات برمجية المصدر الخاصة بهم إلى صراحة لحالة العقود بين تطبيقات (callees) و عملاء (المتصلين). analys تعليمات برمجية هو تستخدم أداة معلومات إضافية حول شروط معلمات دالة وأنواع الإرجاع قبل و بعد دالة هو استدعاء للكشف عن مشكلات خرق اتفاق بين الطالب callee. إذا قمت بتحديد التعليقات التوضيحية تشغيل التعريف دالة ثم لم يكن لتحديدها في إعلان دالة.
السمات
يتم تطبيق نظام التعليقات التوضيحية كالمترجم VC + + السمات. توفر سمتان التالية أساسا للتعليق التوضيحي:
ما قبل
تحدد كل مثيل لسمة ما قبل التعيين من خصائص للمعلمة المزود بتعليقات توضيحية. يلي تعليق توضيحي تستخدم السمة ما قبل بخاصية صالحة:
void f ( [ Pre (Valid = Yes) ] int pWidth);
بإدخال تعليق توضيحي معلمة pWidth، يتطلب دالة المتصلين إلى تمرير القيمة عدد صحيح صالح. تكامل-أو النقطة العائمة — القيمة يعني أنه تمت تهيئة معلمة و لا يحتوي على بيانات البيانات المهملة.
Post
تحدد كل مثيل لسمة ينشر التعيين من خصائص للمعلمة تعليقات توضيحية أو القيمة الإرجاع. يستخدم التعليقات التوضيحية التالية ينشر السمة مع MustCheckخاصية:
[returnvalue:Post(MustCheck=Yes)] bool f();
بإدخال تعليق توضيحي للقيمة المرجعة للدالة، المتصل هو اللازمة لفحص قيمة الإرجاع للدالة؛ ولذلك، ينشئ مكالمة كما يلي C6031:
void main( )
{
// code
f ( ); // warning 6031
// code
}
بالإضافة إلى ما قبل و ينشر الالسمات، سمتان التالية متوفرة:
سمة FormatString هو المعطاة لتعيين معلومات التنسيق. هو المستخدمة مع الخاصية النمط.
سمة InvalidCheck هو تم توفيرها لتحديد ما إذا كانت الالقيمة المرجعة من دالة هو صحيحة أو غير صالح. هو المستخدمة مع خاصية القيمة.
Properties
هناك العديد من الخصائص التي يمكن أن يكون محدداً بما قبل و ينشر السمات. تشغيل الرغم من أن يمكن استخدام معظم الخصائص تشغيل السمات كل ما قبل وبعد، خاصية MustCheck يمكن تطبيقها فقط إلى قيمة الإرجاع للدالة يجب أن يكون الحقل محدداً بسمة بعد. قبل استخدام خاصية معينة، يجب قراءة الوثائق إلى التعرف على أنواع السمات والبيانات المعتمدة من قبلها. لمزيد من المعلومات، راجع Annotation Properties.
استخدام تعليق توضيحي في C
استخدام التعليقات التوضيحية في المصدر C ملف s، قم بتضمين ما يلي ملف:
#include <CodeAnalysis/SourceAnnotations.h>
التعليق الدالة التالية، كما هو موضح في التالية تعليمات برمجية:
void f ([ SA_Pre (Valid = SA_Yes) ] int pWidth );
ملاحظةفي تعليمات برمجية C، عليك استخدام SA_ بادئة تشغيل السمات وقيم التي تم تعدادها.
استخدام التعليقات التوضيحية في C + +
في C + +، بعد إضافة #include <CodeAnalysis/SourceAnnotations.h>الملف، قم بإضافة مساحة الاسم التالي:
using namespace vc_attributes;
التعليق الدالة التالية، كما هو موضح في التالية تعليمات برمجية:
void CMyClass::f ([ Pre (Valid = Yes) ] int pWidth )
ملاحظة
في تعليمات برمجية C + +، لم يكن إلى استخدام البادئة SA_ للقيم التي تم تعدادها، على سبيل المثال، نعم، لا، وربما. ومع ذلك، يجب أن استخدم البادئة SA_ في عنوان صفحة التي سيتم استخدم d لكل من C و C + + رمز. لا يمكن أن تكون موروثة التعليقات التوضيحية في C + +، بواسطة فئة مشتقة.