コード例 #1
0
ファイル: IonSequence.cs プロジェクト: dhhoang/ion-dotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(Type());
                return;
            }

            Debug.Assert(_children != null);

            var type = Type();

            if (type != IonType.Datagram)
            {
                writer.StepIn(type);
            }

            foreach (var val in _children)
            {
                val.WriteTo(writer);
            }

            if (type != IonType.Datagram)
            {
                writer.StepOut();
            }
        }
コード例 #2
0
ファイル: IonFloat.cs プロジェクト: dhhoang/IonDotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(IonType.Float);
                return;
            }

            writer.WriteFloat(_d);
        }
コード例 #3
0
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(IonType.Blob);
                return;
            }

            writer.WriteBlob(Bytes());
        }
コード例 #4
0
ファイル: IonSymbol.cs プロジェクト: dhhoang/IonDotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(IonType.Symbol);
                return;
            }

            writer.WriteSymbolToken(SymbolValue);
        }
コード例 #5
0
ファイル: IonDecimal.cs プロジェクト: yjsyyyjszf/ion-dotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (this.NullFlagOn())
            {
                writer.WriteNull(IonType.Decimal);
                return;
            }

            writer.WriteDecimal(this.BigDecimalValue);
        }
コード例 #6
0
ファイル: IonTimestamp.cs プロジェクト: dhhoang/ion-dotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(IonType.Timestamp);
                return;
            }

            writer.WriteTimestamp(_timestamp);
        }
コード例 #7
0
 internal override void WriteBodyTo(IPrivateWriter writer)
 {
     if (NullFlagOn())
     {
         writer.WriteNull(IonType.Bool);
     }
     else
     {
         writer.WriteBool(BoolTrueFlagOn());
     }
 }
コード例 #8
0
ファイル: IonInt.cs プロジェクト: truongle2211/IonDotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(IonType.Int);
                return;
            }

            if (_bigInteger != null)
            {
                writer.WriteInt(_bigInteger.Value);
                return;
            }

            writer.WriteInt(_longValue);
        }
コード例 #9
0
ファイル: IonStruct.cs プロジェクト: yjsyyyjszf/ion-dotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (this.NullFlagOn())
            {
                writer.WriteNull(IonType.Struct);
                return;
            }

            Debug.Assert(this.values != null, "values is null");
            writer.StepIn(IonType.Struct);
            foreach (var v in this.values)
            {
                v.WriteTo(writer);
            }

            writer.StepOut();
        }
コード例 #10
0
ファイル: IonStruct.cs プロジェクト: dhhoang/ion-dotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(IonType.Struct);
                return;
            }

            Debug.Assert(_values != null);
            writer.StepIn(IonType.Struct);
            foreach (var v in _values)
            {
                //writeto() will attemp to write field name
                v.WriteTo(writer);
            }

            writer.StepOut();
        }
コード例 #11
0
ファイル: IonSequence.cs プロジェクト: truongle2211/IonDotnet
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(Type);
                return;
            }

            Debug.Assert(_children != null);

            writer.StepIn(Type);
            foreach (var val in _children)
            {
                val.WriteTo(writer);
            }

            writer.StepOut();
        }
コード例 #12
0
ファイル: IonString.cs プロジェクト: dhhoang/IonDotnet
 internal override void WriteBodyTo(IPrivateWriter writer) => writer.WriteString(StringVal);
コード例 #13
0
ファイル: IonValue.cs プロジェクト: truongle2211/IonDotnet
 /// <summary>
 /// Concrete class implementations should call the correct writer method.
 /// </summary>
 internal abstract void WriteBodyTo(IPrivateWriter writer);
コード例 #14
0
ファイル: IonNull.cs プロジェクト: dhhoang/ion-dotnet
 internal override void WriteBodyTo(IPrivateWriter writer) => writer.WriteNull();