NuoDb.Data.Client.EncodedDataStream.encodeDotNetObject C# (CSharp) Method

encodeDotNetObject() public method

public encodeDotNetObject ( object value ) : void
value object
return void
        public virtual void encodeDotNetObject(object value)
        {
            if (value == null || System.DBNull.Value.Equals(value))
            {
                encodeNull();
            }
            else if (value is string)
            {
                encodeString((string)value);
            }
            else if (value is char)
            {
                encodeString(new string((char)value, 1));
            }
            else if (value is int)
            {
                encodeInt((int)value);
            }
            else if (value is long)
            {
                encodeLong((long)value);
            }
            else if (value is decimal)
            {
                encodeBigDecimal((decimal)value);
            }
            else if (value is bool)
            {
                encodeBoolean((bool)value);
            }
            else if (value is byte)
            {
                encodeInt((byte)value);
            }
            else if (value is short)
            {
                encodeInt((short)value);
            }
            else if (value is float)
            {
                encodeDouble((float)value);
            }
            else if (value is double)
            {
                encodeDouble((double)value);
            }
            else if (value is byte[])
            {
                encodeBytes((byte[])value);
            }
            else if (value is DateTime)
            {
                if (((DateTime)value).TimeOfDay.TotalSeconds == 0)
                    encodeDate((DateTime)value);
                else
                    encodeTimestamp((DateTime)value);
            }
            else if (value is TimeSpan)
            {
                encodeTime((TimeSpan)value);
            }
            else if (value is Guid)
            {
                encodeGuid((Guid)value);
            }
            else if (value is IDataRecord[])
            {
                encodeArray((IDataRecord[])value);
            }
            else if (value is DataTable)
            {
                encodeArray((DataTable)value);
            }
            else
            {
                System.Diagnostics.Trace.WriteLine(String.Format("Unsupported type of parameter: {0}, sending as a plain string", value.GetType().Name));
                encodeString(value.ToString());
            }
        }

Usage Example

Esempio n. 1
0
        private void putParameters(EncodedDataStream dataStream)
        {
            dataStream.encodeInt(parameters.Count);

            for (int n = 0; n < parameters.Count; ++n)
            {
                object param = ((NuoDbParameter)parameters[n]).Value;
            #if DEBUG
                System.Diagnostics.Trace.WriteLine("param " + n + "=" + param);
            #endif
                dataStream.encodeDotNetObject(param);
            }
        }