如何用多态重构下面的条件语句
  
double AddChart()
{
    switch(ChartType)
     {
        case "直方图":
        AddColumnChart(sheet,node.Attributes("ChartAddress").Value,ValueRange,XValueRange,ChartWidth,ChartHeight);
            break;
        case "饼图":
            AddPieChart(sheet,node.Attributes("ChartAddress").Value,ValueRange,XValueRange,ChartWidth,ChartHeight);
            break;
        case "条形图":
            AddBarChart(sheet,node.Attributes("ChartAddress").Value,ValueRange,XValueRange,ChartWidth,ChartHeight);
            break;
        case "曲线图"
            AddLineChart(sheet,node.Attributes("ChartAddress").Value,ValueRange,XValueRange,ChartWidth,ChartHeight);
            break;
        default:
            break;
     }
}