public IReadOnlyCollection <DataViewColumn> GetColumns() { if (_columnCollection == null) { _columnCollection = new DataViewColumnCollection(); DefineColumns(_columnCollection); } return(_columnCollection.Columns); }
/// <summary> /// Implemented in the derived class to provide a collection of columns for the /// custom DataViewType. /// </summary> /// <param name="columns">The column collection used for adding new columns.</param> protected abstract void DefineColumns(DataViewColumnCollection columns);
protected override void DefineColumns(DataViewColumnCollection columns) => columns .AddColumn(nameof(Foo.FooCol1), x => x.FooCol1.ToString()) .AddColumn(nameof(Foo.FooCol2), x => x.FooCol2) .AddColumn(nameof(Foo.FooCol3), x => x.FooCol3) .AddComplexColumn(nameof(Foo.Bar), x => x.Bar, new BarDataViewType());
protected override void DefineColumns(DataViewColumnCollection columns) => columns .AddColumn(nameof(Bar.BarCol1), x => x.BarCol1) .AddColumn(nameof(Bar.BarCol2), x => x.BarCol2);
protected override void DefineColumns(DataViewColumnCollection columns) => columns .AddColumn(nameof(SimpleData.Value1), c => c.Value1) .AddColumn(nameof(SimpleData.Value2), c => c.Value2);