コード例 #1
0
ファイル: ArrayValue.cs プロジェクト: ahlec/PainlessBinary
 void ReadIntoArray(PainlessBinaryReader reader, IList destination)
 {
     for (int index = 0; index < _arrayLength; ++index)
     {
         destination[index] = reader.ReadPainlessBinaryObject(_elementType);
     }
 }
コード例 #2
0
 public void Read(PainlessBinaryReader reader)
 {
     for (int index = 0; index < _listLength; ++index)
     {
         object value = reader.ReadPainlessBinaryObject(_contentType);
         _list.Add(value);
     }
 }
コード例 #3
0
ファイル: Serializer.cs プロジェクト: ahlec/PainlessBinary
        static T DeserializeFilePayload <T>(PainlessBinaryReader reader)
        {
            Type fileType = reader.ReadNextType();

            if (fileType != typeof(T))
            {
                throw new DifferentFileTypeException(typeof(T), fileType);
            }

            object deserializedObject = reader.ReadPainlessBinaryObject(typeof(T));

            return((T)deserializedObject);
        }
コード例 #4
0
        public void Read(PainlessBinaryReader reader)
        {
            reader.PushCompoundingHash();

            foreach (SerializedMember member in _members)
            {
                object memberValue = reader.ReadPainlessBinaryObject(member.Type);
                member.SetValue(Value, memberValue);
            }

            int computedHash = reader.PopCompoundingHash();
            int readHash     = reader.ReadInt32();

            if (computedHash != readHash)
            {
                throw new DataIntegrityQuestionableException(computedHash, readHash);
            }
        }
コード例 #5
0
ファイル: NullableValue.cs プロジェクト: ahlec/PainlessBinary
 public void Read(PainlessBinaryReader reader)
 {
     Value = reader.ReadPainlessBinaryObject(_contentType);
 }