Beispiel #1
0
 /// <summary>
 /// 检查是否符合 BinaryArrayTypeEnumeration 的值
 /// </summary>
 /// <param name="value"></param>
 static public void IsBinaryArrayTypeEnum(BinaryArrayTypeEnumeration value)
 {
     if (value < BinaryArrayTypeEnumeration.Single || value > BinaryArrayTypeEnumeration.RectangularOffset)
     {
         throw new RollBackException();
     }
 }
Beispiel #2
0
        internal BinaryArray ReadStruct(SerReader analyzer)
        {
            ReadObjectId(analyzer);
            BinaryArrayTypeEnumeration arrayType = (BinaryArrayTypeEnumeration)analyzer.reader.ReadByte();

            Rank = analyzer.reader.ReadInt32();

            ReadLengths(analyzer);

            if (arrayType == BinaryArrayTypeEnumeration.SingleOffset ||
                arrayType == BinaryArrayTypeEnumeration.JaggedOffset ||
                arrayType == BinaryArrayTypeEnumeration.RectangularOffset)
            {
                LowerBounds = new List <int>(Rank);
                for (int i = 0; i < Rank; i++)
                {
                    LowerBounds.Add(analyzer.reader.ReadInt32());
                }
            }

            BinaryType = (BinaryTypeEnumeration)analyzer.reader.ReadByte();
            TypeHelper.GetTypeAdditionalInfo(this, analyzer);
            return(this);
        }