AbstractCalculationMonitor

AbstractCalculationMonitor class

Monitora per consentire all’utente di tenere traccia dell’avanzamento del calcolo della formula.

public abstract class AbstractCalculationMonitor

Proprietà

NomeDescrizione
CalculatedValue { get; }Ottiene il valore appena calcolato della cella. Deve essere utilizzato solo inAfterCalculate .
OriginalValue { get; }Ottiene il vecchio valore della cella calcolata. Deve essere utilizzato solo inBeforeCalculate eAfterCalculate .
ValueChanged { get; }Se il valore della cella è stato modificato dopo il calcolo. Deve essere utilizzato solo inAfterCalculate .

Metodi

NomeDescrizione
virtual AfterCalculate(int, int, int)Implementa questo metodo per fare affari dopo che una cella è stata calcolata.
virtual BeforeCalculate(int, int, int)Implementa questo metodo per fare affari prima di calcolare una cella.
virtual OnCircular(IEnumerator)Implementare questo metodo per fare affari quando si calcolano formule con riferimenti circolari.

Esempi

[C#]
//Monitor personalizzato per verificare la possibilità di 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");
        }
    }
}

Guarda anche