/// <summary> /// Creates an <see cref="IReadableColumnProxy"/> from a given column. /// </summary> /// <param name="column">The column.</param> /// <returns>An instance of <see cref="IReadableColumnProxy"/>. The type of instance returned depends on the type of the provided column (e.g. whether the column is part of the document or not).</returns> public static IReadableColumnProxy FromColumn(IReadableColumn column) { if (column is ITransformedReadableColumn) { var tcolumn = (ITransformedReadableColumn)column; if (tcolumn.UnderlyingReadableColumn is IDocumentLeafNode) { return(TransformedReadableColumnProxy.FromColumn(tcolumn)); } else { return(TransformedReadableColumnProxyForStandaloneColumns.FromColumn(tcolumn)); } } else { if (column is IDocumentLeafNode) { return(ReadableColumnProxy.FromColumn(column)); } else { return(ReadableColumnProxyForStandaloneColumns.FromColumn(column)); } } }
/// <summary> /// Cloning constructor. /// </summary> /// <param name="from">Object to clone from.</param> public TransformedReadableColumnProxy(TransformedReadableColumnProxy from) : base(from) { _transformation = from._transformation; // transformation is immutable }