} // proc OnInitialized PpsDataFieldInfo IPpsDataFieldResolver.ResolveColumn(IServiceProvider serviceProvider, string fieldExpression) { CheckInitialized(); var p = fieldExpression.IndexOf('.'); if (p == -1) // we expected Table.Column { return(null); } var tableName = fieldExpression.Substring(0, p); var table = dataset.FindTable(tableName) ?? throw new ArgumentOutOfRangeException(nameof(tableName), tableName, "Could not locate table."); var columnExpression = fieldExpression.Substring(p + 1); return(PpsDataTableResolver.TryResolveColumn( table, columnExpression, PpsDataFieldBinding.CombinePath(BindingPath, columnExpression), out var fieldInfo ) ? fieldInfo : throw new ArgumentOutOfRangeException(nameof(fieldExpression), fieldExpression, "Could not resolve field expression.")); } // func ReolveDataFieldInfo
} // ctor private static PpsDataTableDefinition ResolveDataTable(PpsDataSetDefinition dataset, string tableName) => dataset.FindTable(tableName) ?? throw new ArgumentOutOfRangeException(nameof(tableName), tableName, "Could not resolve table.");