public CellQueryResults <string> GetFormulas(SurfaceTarget surface, IList <int> shapeids)
        {
            var srcstream = this._build_sidsrc_stream(shapeids);
            var values    = surface.GetFormulasU(srcstream);
            var reader    = new Internal.ArraySegmentReader <string>(values);
            var rows      = this._shapesid_to_rows(shapeids, reader);

            var cellqueryresults = new CellQueryResults <string>(rows.Count);

            cellqueryresults.AddRange(rows);

            return(cellqueryresults);
        }
        public CellQueryResults <TResult> GetResults <TResult>(SurfaceTarget surface, IList <int> shapeids)
        {
            var            srcstream = this._build_sidsrc_stream(shapeids);
            const object[] unitcodes = null;
            var            values    = surface.GetResults <TResult>(srcstream, unitcodes);
            var            reader    = new Internal.ArraySegmentReader <TResult>(values);
            var            rows      = this._shapesid_to_rows(shapeids, reader);

            var cellqueryresults = new CellQueryResults <TResult>(rows.Count);

            cellqueryresults.AddRange(rows);

            return(cellqueryresults);
        }
        public CellQueryResults <string> GetFormulas(SurfaceTarget surface)
        {
            _restrict_to_shapes_only(surface);

            var srcstream = this._build_src_stream();
            var values    = surface.GetFormulasU(srcstream);
            var reader    = new Internal.ArraySegmentReader <string>(values);
            var row       = this._shapedata_to_row(surface.ID16, reader);

            var cellqueryresults = new CellQueryResults <string>(1);

            cellqueryresults.Add(row);

            return(cellqueryresults);
        }
        public CellQueryResults <TResult> GetResults <TResult>(SurfaceTarget surface)
        {
            _restrict_to_shapes_only(surface);

            var            srcstream = this._build_src_stream();
            const object[] unitcodes = null;
            var            values    = surface.GetResults <TResult>(srcstream, unitcodes);
            var            reader    = new Internal.ArraySegmentReader <TResult>(values);
            var            row       = this._shapedata_to_row(surface.ID16, reader);


            var cellqueryresults = new CellQueryResults <TResult>(1);

            cellqueryresults.Add(row);

            return(cellqueryresults);
        }