Пример #1
0
        public ObjectEncoder(IReadOnlyList <Column> children, Grpc.ColumnMetadata metadata)
        {
            this.columnId = metadata.ColumnId;

            encoders        = new IEncoder[children.Count];
            propertyGetters = new Func <object, object> [children.Count];
            for (int i = 0; i < children.Count; i++)
            {
                encoders[i]        = EncoderHelper.GetEncoder(children[i].Type, metadata.SubColumns[i], children[i].Children);
                propertyGetters[i] = children[i].GetFunction;
            }
        }
Пример #2
0
 private Grpc.ColumnMetadata ToMetadata(ref int index, Column column)
 {
     Grpc.ColumnMetadata columnMetadata = new Grpc.ColumnMetadata()
     {
         Type     = MetadataHelper.GetKoraliumType(column.Type),
         ColumnId = index++,
         Name     = column.Name
     };
     foreach (var child in column.Children)
     {
         columnMetadata.SubColumns.Add(ToMetadata(ref index, child));
     }
     return(columnMetadata);
 }