## AbstractCalculationEngine class

يمثل محرك الحساب المخصص للمستخدم لتوسيع محرك الحساب الافتراضي لـ Aspose.Cells.

```csharp
public abstract class AbstractCalculationEngine
```

## الخصائص

| اسم | وصف |
| --- | --- |
| virtual [IsParamLiteralRequired](../../aspose.cells/abstractcalculationengine/isparamliteralrequired) { get; } | يشير إلى ما إذا كان هذا المحرك يحتاج إلى النص الحرفي للمعلمة أثناء إجراء الحساب. القيمة الافتراضية هي كاذبة. |
| virtual [ProcessBuiltInFunctions](../../aspose.cells/abstractcalculationengine/processbuiltinfunctions) { get; } | ما إذا كان يجب فحص الوظائف المضمنة التي تم دعمها بواسطة المحرك المضمن ومعالجتها من خلال هذا التنفيذ. ضبط على أنه صحيح . |

## طُرق

| اسم | وصف |
| --- | --- |
| abstract [Calculate](../../aspose.cells/abstractcalculationengine/calculate)(CalculationData) | حساب دالة واحدة ببيانات معينة. |

### ملاحظات

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

### أمثلة

```csharp
[C#]
public class MyEngine : AbstractCalculationEngine
{
    public override void Calculate(CalculationData data)
    {
        string funcName = data.FunctionName.ToUpper();
        if ("MYFUNC".Equals(funcName))
        {
            // قم بحساب MYFUNC هنا
            int count = data.ParamCount;
            object res = null;
            for (int i = 0; i < count; i++)
            {
                object pv = data.GetParamValue(i);
                if (pv is ReferredArea)
                {
                    ReferredArea ra = (ReferredArea)pv;
                    pv = ra.GetValue(0, 0);
                }
                // معالجة المعلمة هنا
                // الدقة = ... ;
            }
            data.CalculatedValue = res;
        }
    }
}
```

### أنظر أيضا

* مساحة الاسم [Aspose.Cells](../../aspose.cells)
* المجسم [Aspose.Cells](../../)

<!-- DO NOT EDIT: generated by xmldocmd for Aspose.Cells.dll -->
