コード例 #1
0
        public object Deserialize(_Row item)
        {
            var o = Construct();

            _Deserialize(item, o);

            return(o);
        }
コード例 #2
0
        public _Row Serialize(object item)
        {
            var row = new _Row(_entity.Columns.Select(column =>
            {
                var spec = _entity.Columns[column.Path];
                var axs  = Properties[column.Path];
                var data = axs.Get(item);

                return(Write(data, spec));
            }));

            _Deserialize(row, item);

            return(row);
        }
コード例 #3
0
        protected void _Deserialize(_Row item, object instance)
        {
            var zip = Columns.Zip(item.Cells, Tuple.Create);

            foreach (var pair in zip)
            {
                var spec = pair.Item1;
                var cell = pair.Item2;

                if (cell.ValueType == ColumnType.Null)
                {
                    continue;
                }

                var axs  = Properties[spec.Path];
                var data = Read(cell, spec);

                axs.Set(instance, data);
            }
        }
コード例 #4
0
 object      Extract(_Row row) => Serializer.Deserialize(row);