الكشف عن المرجع الدائري

مقدمة

يمكن أن تحتوي المصنفات على مراجع دائرية وفي بعض الأحيان تكون هناك حاجة لاكتشاف ما إذا كانت المراجع الدائرية موجودة أم لا.

المفهوم الكامن وراء الكشف عن المرجع الدائري

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

CalculationCell: يمثل حساب البيانات ذات الصلة حول خلية واحدة يتم حسابها

AbstractCalculationMonitor.OnCircular(IEnumerator CircularCellsData): سيتم استدعاؤه بواسطة محرك حساب الصيغة عند مواجهة مراجع دائرية، وهو العنصر الموجود في العدادCalculationCell الكائنات التي تمثل جميع الخلايا في دائرة واحدة. تشير القيمة التي تم إرجاعها إلى ما إذا كان محرك الصيغة يحتاج إلى حساب تلك الخلايا بشكل دائري بعد هذا الاستدعاء.

يجوز للمستخدم جمع تلك المراجع الدائرية في تنفيذAbstractCalculationMonitor.OnCircular() طريقة.

يمكن تحميل ملف العينة المصدر من الرابط التالي:

الصيغ الدائرية.xls

تعريف الCircularMonitor الطبقة التي تستمد منAbstractCalculationMonitor الطبقة هي كما يلي: