AbstractCalculationMonitor Class

Monitor for user to track the progress of formula calculation.
Inheritance Hierarchy
SystemObject
  Aspose.CellsAbstractCalculationMonitor

Namespace:  Aspose.Cells
Assembly:  Aspose.Cells (in Aspose.Cells.dll) Version: 20.1.0.0 (20.1)
Syntax
public abstract class AbstractCalculationMonitor

The AbstractCalculationMonitor type exposes the following members.

Constructors
  NameDescription
Protected methodAbstractCalculationMonitor
Initializes a new instance of the AbstractCalculationMonitor class
Properties
  NameDescription
Public propertyCalculatedValue
Gets the newly calculated value of the cell. Should be used only in AfterCalculate(Int32, Int32, Int32).
Public propertyOriginalValue
Gets the old value of the calculated cell. Should be used only in BeforeCalculate(Int32, Int32, Int32) and AfterCalculate(Int32, Int32, Int32).
Public propertyValueChanged
Whether the cell's value has been changed after the calculation. Should be used only in AfterCalculate(Int32, Int32, Int32).
Methods
  NameDescription
Public methodAfterCalculate
Implement this method to do business after one cell has been calculated.
Public methodBeforeCalculate
Implement this method to do business before calculating one cell.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodInterrupt
Protected methodMemberwiseClone (Inherited from Object.)
Public methodOnCircular
Implement this method to do business when calculating one cell and circular references being encountered
Public methodToString (Inherited from Object.)
Examples
[C#]
//Custom monitor to check possibility of StackOverflowException
public class MyCalculationMonitor : AbstractCalculationMonitor
{
    public override void BeforeCalculate(int sheetIndex, int rowIndex, int colIndex)
    {
        if(new StackTrace(false).FrameCount > 1000)
        {
            throw new Exception("Stop the formula calculation because risk of StackOverflowException");
        }
    }
}
See Also