我在C#中有一个类,就像这样:
public class BarChart { public BarData BarChartData; public BarStyle BarChartStyle; public BarChart(BarData data,BarStyle style) { this.BarChartData = data; this.BarChartStyle = style; } string _uniqueName; public string UniqueName { get { return this._uniqueName; } set { this._uniqueName = value; } } string _rowNumber; public string RowNumber { get { return this._rowNumber; } set { this._rowNumber = value; } }
我想创建一个名为Chart的类,它将具有BarChart类所有的所有属性.例如:
Chart someChart = new Chart(BarChart); string name = someChart.UniqueName
我对C#来说是比较新的,继承的概念对我来说有点陌生.在一天结束的时候,我会有多个不同的图表类型,如LineChart,BarChart等,但是我也希望能够移动它们,并将它们排序如下:
List<Chart> groupedCharts = listOfCharts .GroupBy(u => u.RowNumber) .Select(grp => grp.ToList()) .ToList();
因此,将其抛在一般的图表类中,以方便使用LINQ.
我该怎么办?
解决方法
创建抽象图表类:
abstract class Chart { // Shared properties }
然后继承它:
class BarChart : Chart { // Bar chart properties }
那么你可以创建它:
Chart someChart = new BarChart();