コード例 #1
0
 internal static void NullableSerialize <valueType>(XmlSerializer xmlSerializer, Nullable <valueType> value) where valueType : struct
 {
     if (value.HasValue)
     {
         TypeSerializer <valueType> .StructSerialize(xmlSerializer, value.Value);
     }
 }
コード例 #2
0
 public void CallSerialize(Type value)
 {
     if (CheckPoint(value))
     {
         TypeSerializer <AutoCSer.Reflection.RemoteType> .StructSerialize(this, new AutoCSer.Reflection.RemoteType(value));
     }
 }
コード例 #3
0
ファイル: JsonSerializer.cs プロジェクト: AutoCSer/AutoCSer
 internal static void NullableSerialize <valueType>(JsonSerializer jsonSerializer, Nullable <valueType> value) where valueType : struct
 {
     if (value.HasValue)
     {
         TypeSerializer <valueType> .StructSerialize(jsonSerializer, value.Value);
     }
     else
     {
         jsonSerializer.CharStream.WriteJsonNull();
     }
 }
コード例 #4
0
        /// <summary>
        /// 枚举集合转换
        /// </summary>
        /// <param name="values">枚举集合</param>
        private void structStructEnumerable <valueType, elementType>(valueType values) where valueType : IEnumerable <elementType>
        {
            //charStream xmlStream = CharStream;
            string itemName = GetItemName();

            fixed(char *itemNameFixed = itemName)
            {
                int itemNameLength = itemName.Length;

                foreach (elementType value in values)
                {
                    nameStart(itemNameFixed, itemNameLength);
                    TypeSerializer <elementType> .StructSerialize(this, value);

                    nameEnd(itemNameFixed, itemNameLength);
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// 数组转换
        /// </summary>
        /// <param name="array">数组对象</param>
        private void structArray <valueType>(valueType[] array)
        {
            if (array != null && Push(array))
            {
                //charStream xmlStream = CharStream;
                string itemName = GetItemName();
                fixed(char *itemNameFixed = itemName)
                {
                    int itemNameLength = itemName.Length;

                    foreach (valueType value in array)
                    {
                        nameStart(itemNameFixed, itemNameLength);
                        TypeSerializer <valueType> .StructSerialize(this, value);

                        nameEnd(itemNameFixed, itemNameLength);
                    }
                }

                Pop();
            }
        }
コード例 #6
0
ファイル: JsonSerializer.cs プロジェクト: AutoCSer/AutoCSer
 internal static void StructSerialize <valueType>(JsonSerializer jsonSerializer, valueType value)
 {
     TypeSerializer <valueType> .StructSerialize(jsonSerializer, ref value);
 }
コード例 #7
0
ファイル: JsonSerializer.cs プロジェクト: AutoCSer/AutoCSer
 public void TypeSerialize <valueType>(ref valueType value) where valueType : struct
 {
     TypeSerializer <valueType> .StructSerialize(this, ref value);
 }
コード例 #8
0
 internal static void StructSerialize <valueType>(XmlSerializer xmlSerializer, valueType value)
 {
     TypeSerializer <valueType> .StructSerialize(xmlSerializer, value);
 }