码迷,mamicode.com
首页 > 其他好文 > 详细

已经为类型参数“Chart”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束

时间:2015-09-23 18:42:14      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

public abstract class FillWorkBook<TModel, Chart>
    where TModel : struct
    where Chart : new()
    where Chart : CreateExcelBase
{

    public void FillDataToWorkbook(Workbook workbook)
    {
        List<TModel> sheetData = GetData();
        if (sheetData == null)
        {
            sheetData = new List<TModel>();
        }
        DataTable dt = AsConvert.ListToDataTable(sheetData);
        CreateExcelBase chart = new Chart();
        chart.FillData = dt;
        chart.CreateCharts(workbook);

    }

    public abstract List<TModel> GetData();
}

执行上述代码编译报错:

错误 3 已经为类型参数“Chart”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束。 D:\SourceProject\OLAP\trunk\EntOlap\EntOlap.Report\EntOlap.Report.Service\KefuDuizhangBiao\FillWorkBook.cs 15 11 EntOlap.Report.Service

类的方法声明改为如下即可:

public abstract class FillWorkBook<TModel, Chart>
    where TModel : struct
    where Chart : CreateExcelBase,new() 

 

已经为类型参数“Chart”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束

标签:

原文地址:http://www.cnblogs.com/buguge/p/4832603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!