📄 rangeseparator.cs
字号:
using System;
using System.Collections;
using Microsoft.Fawvw.Components.NExcel.Biff;
namespace Microsoft.Fawvw.Components.NExcel.Biff.Formula
{
/// <summary> A "holding" token for a range separator. This token gets instantiated
/// when the lexical analyzer can't distinguish a range cleanly, eg in the
/// case where where one of the identifiers of the range is a formula
/// </summary>
class RangeSeparator:BinaryOperator, ParsedThing
{
/// <summary> Abstract method which gets the token for this operator
///
/// </summary>
/// <returns> the string symbol for this token
/// </returns>
override internal Token Token
{
get
{
return Token.RANGE;
}
}
/// <summary> Gets the precedence for this operator. Operator precedents run from
/// 1 to 5, one being the highest, 5 being the lowest
///
/// </summary>
/// <returns> the operator precedence
/// </returns>
override internal int Precedence
{
get
{
return 1;
}
}
/// <summary> Constructor</summary>
public RangeSeparator()
{
}
public override string getSymbol()
{
return ":";
}
/// <summary> Overrides the getBytes() method in the base class and prepends the
/// memFunc token
///
/// </summary>
/// <returns> the bytes
/// </returns>
internal override sbyte[] Bytes
{
get
{
setVolatile();
setOperandAlternateCode();
sbyte[] funcBytes = base.Bytes;
sbyte[] bytes = new sbyte[funcBytes.Length + 3];
Array.Copy(funcBytes, 0, bytes, 3, funcBytes.Length);
// Indicate the mem func
bytes[0] = Token.MEM_FUNC.Code;
IntegerHelper.getTwoBytes(funcBytes.Length, bytes, 1);
return bytes;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -