AbstractCalculationMonitor

AbstractCalculationMonitor class

Monitor para que el usuario realice un seguimiento del progreso del cálculo de la fórmula.

public abstract class AbstractCalculationMonitor

Propiedades

NombreDescripción
CalculatedValue { get; }Obtiene el valor recién calculado de la celda. Debe usarse solo enAfterCalculate .
OriginalValue { get; }Obtiene el valor anterior de la celda calculada. Debe usarse solo enBeforeCalculate yAfterCalculate .
ValueChanged { get; }Si el valor de la celda ha cambiado después del cálculo. Debe usarse solo enAfterCalculate .

Métodos

NombreDescripción
virtual AfterCalculate(int, int, int)Implemente este método para hacer negocios después de que se haya calculado una celda.
virtual BeforeCalculate(int, int, int)Implemente este método para hacer negocios antes de calcular una celda.
virtual OnCircular(IEnumerator)Implemente este método para hacer negocios al calcular fórmulas con referencias circulares.

Ejemplos

[C#]
//Monitor personalizado para verificar la posibilidad de 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");
        }
    }
}

Ver también