首页 > 其他 > 详细

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

时间:2015-09-23 18:39:50      阅读:351      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!