Esempio n. 1
0
        internal object GetColumnValue(int columnIndex)
        {
            if (!owner.Contains(this) || !owner.Functions.Any())
            {
                return(null);
            }

            object value = null;

            var variable = owner.GetVariableForColumnIndex(columnIndex);
            var values   = variable.Values;

            if (columnIndex < owner.Function.Arguments.Count)
            {
                var argumentIndex = Index[columnIndex];

                if (values.Count > argumentIndex)
                {
                    value = values[argumentIndex];
                }
            }
            else
            {
                var index = Index;
                if (MultiDimensionalArrayHelper.IsIndexWithinShape(index, values.Shape))
                {
                    value = values[Index];
                }
            }

            return(value);
        }