AbstractCalculationMonitor

AbstractCalculationMonitor class

Surveiller pour que l’utilisateur puisse suivre la progression du calcul de la formule.

public abstract class AbstractCalculationMonitor

Propriétés

NomLa description
CalculatedValue { get; }Obtient la nouvelle valeur calculée de la cellule. Ne doit être utilisé que dansAfterCalculate .
OriginalValue { get; }Obtient l’ancienne valeur de la cellule calculée. Ne doit être utilisé que dansBeforeCalculate etAfterCalculate .
ValueChanged { get; }Indique si la valeur de la cellule a été modifiée après le calcul. Ne doit être utilisé que dansAfterCalculate .

Méthodes

NomLa description
virtual AfterCalculate(int, int, int)Implémentez cette méthode pour faire des affaires après le calcul d’une cellule.
virtual BeforeCalculate(int, int, int)Implémentez cette méthode pour faire des affaires avant de calculer une cellule.
virtual OnCircular(IEnumerator)Implémentez cette méthode pour faire des affaires lors du calcul de formules avec des références circulaires.

Exemples

[C#]
//Moniteur personnalisé pour vérifier la possibilité 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");
        }
    }
}

Voir également