示例#1
0
文件: Encoder.cs 项目: pipi1226/krpc
        private static ByteString EncodeList(object value, Type type)
        {
            var encodedList = new KRPC.Schema.KRPC.List();
            var list        = (System.Collections.IList)value;
            var valueType   = type.GetGenericArguments().Single();

            foreach (var item in list)
            {
                encodedList.Items.Add(Encode(item, valueType));
            }
            return(Encode(encodedList, typeof(KRPC.Schema.KRPC.List)));
        }
示例#2
0
文件: Encoder.cs 项目: zentarul/krpc
        static void WriteList(object value, CodedOutputStream stream)
        {
            var encodedList = new KRPC.Schema.KRPC.List();
            var list        = (IList)value;

            using (var internalBuffer = new MemoryStream()) {
                var internalStream = new CodedOutputStream(internalBuffer);
                foreach (var item in list)
                {
                    encodedList.Items.Add(EncodeObject(item, internalBuffer, internalStream));
                }
            }
            encodedList.WriteTo(stream);
        }
示例#3
0
文件: Encoder.cs 项目: zentarul/krpc
        static void WriteList(object value, Type type, Stream stream)
        {
            var encodedList = new KRPC.Schema.KRPC.List();
            var list        = (IList)value;
            var valueType   = type.GetGenericArguments().Single();

            using (var internalBuffer = new MemoryStream()) {
                var internalStream = new CodedOutputStream(internalBuffer);
                foreach (var item in list)
                {
                    encodedList.Items.Add(EncodeObject(item, valueType, internalBuffer, internalStream));
                }
            }
            encodedList.WriteTo(stream);
        }
示例#4
0
文件: Encoder.cs 项目: paperclip/krpc
 static void WriteList (object value, Type type, Stream stream)
 {
     var encodedList = new KRPC.Schema.KRPC.List ();
     var list = (IList)value;
     var valueType = type.GetGenericArguments ().Single ();
     using (var internalBuffer = new MemoryStream ()) {
         var internalStream = new CodedOutputStream (internalBuffer);
         foreach (var item in list)
             encodedList.Items.Add (EncodeObject (item, valueType, internalBuffer, internalStream));
     }
     encodedList.WriteTo (stream);
 }
示例#5
0
文件: Encoder.cs 项目: artwhaley/krpc
 private static ByteString EncodeList(object value, Type type)
 {
     var encodedList = new KRPC.Schema.KRPC.List ();
     var list = (System.Collections.IList)value;
     var valueType = type.GetGenericArguments ().Single ();
     foreach (var item in list)
         encodedList.Items.Add (Encode (item, valueType));
     return Encode (encodedList, typeof(KRPC.Schema.KRPC.List));
 }
示例#6
0
文件: Encoder.cs 项目: paperclip/krpc
 static void WriteList (object value, CodedOutputStream stream)
 {
     var encodedList = new KRPC.Schema.KRPC.List ();
     var list = (IList)value;
     using (var internalBuffer = new MemoryStream ()) {
         var internalStream = new CodedOutputStream (internalBuffer);
         foreach (var item in list)
             encodedList.Items.Add (EncodeObject (item, internalBuffer, internalStream));
     }
     encodedList.WriteTo (stream);
 }