Reads a serialized object.
Inheritance: IObjectReader
コード例 #1
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void Skip(ObjectReader reader)
 {
     MemberValueType type = reader.PeekValueType();
     if (type == MemberValueType.Object)
     {
         ReadStartObject(reader);
     }
     else if (type == MemberValueType.Array)
     {
         ReadStartArray(reader);
     }
     else if (type == MemberValueType.Primitive)
     {
         ReadPrimitiveValue(reader);
         reader.SkipPrimitiveValue();
     }
     else
     {
         throw new NotSupportedException("Unsupported value type.");
     }
 }
コード例 #2
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
            public override bool ReadStartArray(ObjectReader reader)
            {
                reader.SetState(EndArrayValueState.State);

                if (reader.ReadStartArrayToken())
                {
                    // Start of a new array
                    reader.PushState(StartArrayState.State);
                    return true;
                }
                else
                {
                    // No array (null)
                    return false;
                }
            }
コード例 #3
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void ReadPrimitiveValue(ObjectReader reader)
 {
     reader.SetState(EndArrayValueState.State);
 }
コード例 #4
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void Skip(ObjectReader reader)
 {
     MoveToNextObjectMember(reader);
 }
コード例 #5
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
            public override bool ReadStartObject(ObjectReader reader)
            {
                reader.SetState(EndArrayValueState.State);

                return InitialState.State.ReadStartObject(reader);
            }
コード例 #6
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void ReadEndArray(ObjectReader reader)
 {
     reader.ReadEndArrayToken();
     reader.PopState();
 }
コード例 #7
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public virtual bool ReadStartArray(
     ObjectReader reader)
 {
     throw new InvalidOperationException();
 }
コード例 #8
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void Skip(ObjectReader reader)
 {
     ReadStartObject(reader);
 }
コード例 #9
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void ReadPrimitiveValue(ObjectReader reader)
 {
     reader.SetState(MemberValueState.State);
 }
コード例 #10
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public abstract void Skip(
     ObjectReader reader);
コード例 #11
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override bool ReadStartObject(
     ObjectReader reader)
 {
     if (reader.ReadStartObjectToken())
     {
         // Start of a new object
         reader.PushState(StartObjectState.State);
         return true;
     }
     else
     {
         // No object (null)
         return false;
     }
 }
コード例 #12
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public virtual void ReadPrimitiveValue(
     ObjectReader reader)
 {
     throw new InvalidOperationException();
 }
コード例 #13
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public virtual void ReadEndArray(
     ObjectReader reader)
 {
     throw new InvalidOperationException();
 }
コード例 #14
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public virtual bool MoveToNextArrayValue(
     ObjectReader reader)
 {
     throw new InvalidOperationException();
 }
コード例 #15
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override bool MoveToNextArrayValue(ObjectReader reader)
 {
     // Check for the end of the array
     if (reader.ReadToNextArrayValue())
     {
         reader.SetState(StartArrayValueState.State);
         return true;
     }
     else
     {
         reader.SetState(EndArrayState.State);
         return false;
     }
 }
コード例 #16
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
            public override bool MoveToNextObjectMember(ObjectReader reader)
            {
                // Skip the current value
                reader.SkipValue();

                // Move to the next member
                return MemberValueState.State.MoveToNextObjectMember(reader);
            }
コード例 #17
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void Skip(ObjectReader reader)
 {
     MoveToNextArrayValue(reader);
 }
コード例 #18
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override bool MoveToNextObjectMember(ObjectReader reader)
 {
     // Try to read the next member key
     if (reader.ReadNextObjectMemberKey())
     {
         // Next member key
         reader.SetState(MemberKeyState.State);
         return true;
     }
     else
     {
         // No more members (end of object)
         reader.SetState(EndObjectState.State);
         return false;
     }
 }
コード例 #19
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public override void Skip(ObjectReader reader)
 {
     ReadEndArray(reader);
 }
コード例 #20
0
ファイル: ObjectReader.cs プロジェクト: hotchai/serialize.net
 public virtual bool MoveToNextObjectMember(
     ObjectReader reader)
 {
     throw new InvalidOperationException();
 }