public override void Update(object[] expressions, IErrorContext iErrorContext) { object obj = expressions[0]; AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode = DataAggregate.GetTypeCode(obj); if (!DataAggregate.IsNull(typeCode)) { if (!DataTypeUtility.IsNumeric(typeCode)) { iErrorContext.Register(ProcessingErrorCode.rsAggregateOfNonNumericData, Severity.Warning); throw new ReportProcessingException(ErrorCode.rsInvalidOperation); } DataAggregate.ConvertToDoubleOrDecimal(typeCode, obj, out typeCode, out obj); if (this.m_expressionType == AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Null) { this.m_expressionType = typeCode; } else if (typeCode != this.m_expressionType) { iErrorContext.Register(ProcessingErrorCode.rsAggregateOfMixedDataTypes, Severity.Warning); throw new ReportProcessingException(ErrorCode.rsInvalidOperation); } object obj2 = DataAggregate.Square(typeCode, obj); if (this.m_sumOfX == null) { this.m_sumOfXType = typeCode; this.m_sumOfX = obj; this.m_sumOfXSquared = obj2; } else { this.m_sumOfX = DataAggregate.Add(this.m_sumOfXType, this.m_sumOfX, typeCode, obj); this.m_sumOfXSquared = DataAggregate.Add(this.m_sumOfXType, this.m_sumOfXSquared, typeCode, obj2); } this.m_currentCount += 1u; } }