Exemplo n.º 1
0
        private void UpdateDependency(StructCell cell)
        {
            var dataSize = cell.GetStructDef().GetInstanceDataSize(cell, _instance);

            if (_dependencyStartOffset < 0)
            {
                _dependencyStartOffset = cell.Offset;
                _dependencySize        = dataSize;
            }
            // include only adjacent cells in dependency range calculation
            else if (cell.Offset + dataSize == _dependencyStartOffset)
            {
                _dependencyStartOffset = cell.Offset;
                _dependencySize       += dataSize;
            }
            else if (cell.Offset == _dependencyStartOffset + _dependencySize)
            {
                _dependencySize += dataSize;
            }
        }
Exemplo n.º 2
0
 private void calcChecksum(IConvertible value, StructCell cell)
 {
     if (Utils.IsNumeric(value))
     {
         this._checksum += long.Parse(value.ToString());
     }
     else if (value.GetTypeCode() == TypeCode.String && this.Offset < this.Stream.Length - 34)
     {
         byte[] buffer = Utils.ToBytes(value);
         this._checksum += ((StrField)cell.GetStructDef()).GetWide() ? buffer.Length / 2 : buffer.Length;
         for (int j = 0; j < buffer.Length; j++)
         {
             this._checksum += buffer[j];
         }
     }
     else
     {
         var a = 10;
     }
 }