AbstractCalculationMonitor

AbstractCalculationMonitor class

Övervaka så att användaren kan spåra framstegen i formelberäkningen.

public abstract class AbstractCalculationMonitor

Egenskaper

namnBeskrivning
CalculatedValue { get; }Hämtar det nyligen beräknade värdet av cellen. Bör endast användas iAfterCalculate .
OriginalValue { get; }Hämtar det gamla värdet för den beräknade cellen. Bör endast användas iBeforeCalculate ochAfterCalculate .
ValueChanged { get; }Om cellens värde har ändrats efter beräkningen. Bör endast användas iAfterCalculate .

Metoder

namnBeskrivning
virtual AfterCalculate(int, int, int)Implementera den här metoden för att göra affärer efter att en cell har beräknats.
virtual BeforeCalculate(int, int, int)Implementera den här metoden för att göra affärer innan du beräknar en cell.
virtual OnCircular(IEnumerator)Implementera denna metod för att göra affärer när du beräknar formler med cirkulära referenser.

Exempel

[C#]
//Anpassad monitor för att kontrollera möjligheten av 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");
        }
    }
}

Se även