protected void RequireMatchingTypes(int offsetFromTop1, int offsetFromTop2) { ValueStack stack = this.Calc.Stack; Value value1 = stack.PeekAt(offsetFromTop1); Value value2 = stack.PeekAt(offsetFromTop2); if (value1.ValueType != value2.ValueType) { string message = string.Format( CultureInfo.CurrentCulture, Resources.Commands_Items0And1MustHaveTheSameType, offsetFromTop1 + 1, offsetFromTop2 + 1); throw InvalidOperation(message); } }