コード例 #1
0
ファイル: IJsonVisiter.cs プロジェクト: artikh/CouchDude
 /// <summary>Accepts visitor for <see cref="JsonPrimitive"/> instance.</summary>
 public static void AcceptVisitor(this JsonPrimitive self, IJsonVisitor visitor)
 {
     switch (self.JsonType)
     {
         case JsonType.String:
             visitor.Visit((string)self.Value);
             break;
         case JsonType.Number:
             if(self.Value is double || self.Value is float)
                 visitor.Visit((double)self.Value);
             else
                 visitor.Visit((int)self.Value);
             break;
         case JsonType.Boolean:
             visitor.Visit((bool)self.Value);
             break;
         case JsonType.Default:
             visitor.VisitDefault();
             break;
         default:
             throw new ArgumentOutOfRangeException();
     }
 }
コード例 #2
0
ファイル: MyJson.cs プロジェクト: CompilerKit/CodeWalk
 public override void AcceptVisitor(IJsonVisitor visitor)
 {
     visitor.VisitJsonObject(this);
 }
コード例 #3
0
ファイル: MyJson.cs プロジェクト: CompilerKit/CodeWalk
 public override void AcceptVisitor(IJsonVisitor visitor)
 {
     visitor.VisitJsonElement(this);
 }
コード例 #4
0
ファイル: MyJson.cs プロジェクト: CompilerKit/CodeWalk
 public abstract void AcceptVisitor(IJsonVisitor visitor);
コード例 #5
0
ファイル: MyJson.cs プロジェクト: CompilerKit/CodeWalk
 public override void AcceptVisitor(IJsonVisitor visitor)
 {
     visitor.VisitJsonArray(this);
 }
コード例 #6
0
ファイル: IJsonVisiter.cs プロジェクト: artikh/CouchDude
 /// <summary>Accepts visitor for <see cref="JsonObject"/> instance.</summary>
 public static void AcceptVisitor(this JsonObject self, IJsonVisitor visitor)
 {
     visitor.Visit(self);
 }