System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetId C# (CSharp) Method

GetId() private method

private GetId ( long objectId ) : long
objectId long
return long
        internal long GetId(long objectId)
        {
            if (!_fullDeserialization)
            {
                InitFullDeserialization();
            }

            if (objectId > 0)
            {
                return objectId;
            }

            if (_oldFormatDetected || objectId == -1)
            {
                // Alarm bells. This is an old format. Deal with it.
                _oldFormatDetected = true;
                if (_valTypeObjectIdTable == null)
                {
                    _valTypeObjectIdTable = new IntSizedArray();
                }

                long tempObjId = 0;
                if ((tempObjId = _valTypeObjectIdTable[(int)objectId]) == 0)
                {
                    tempObjId = ThresholdForValueTypeIds + objectId;
                    _valTypeObjectIdTable[(int)objectId] = (int)tempObjId;
                }
                return tempObjId;
            }

            return -1 * objectId;
        }

Usage Example

Beispiel #1
0
        // Binary Stream Record Reads
        internal void ReadSerializationHeaderRecord()
        {
            var record = new SerializationHeaderRecord();

            record.Read(this);
            _topId    = (record._topId > 0 ? _objectReader.GetId(record._topId) : record._topId);
            _headerId = (record._headerId > 0 ? _objectReader.GetId(record._headerId) : record._headerId);
        }
All Usage Examples Of System.Runtime.Serialization.Formatters.Binary.ObjectReader::GetId