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

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() 
时间: 2024-12-06 01:24:30

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

Merge:探讨on子句和when not match子句的陷阱

在细节上,体现编程的修养.每一位大师,master,其基础必定夯实.废话不多说,直接上干货,Merge子句用于对两个数据表执行数据同步,On子句指定匹配(when matched)条件,When子句指定额外的过滤条件和数据更新逻辑.源表(Source Table)和靶表(Targe Table)的数据行能够匹配成功,这意味着on子句和when match条件都被满足,进入到when matched子句定义的更新代码中,执行数据同步操作:如果不满足on子句,那么必须深入理解不匹配(when not

做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致

最近在做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致.大家可以查看这个Demo(记得打开Chrome DevTools). 就如上图所示,你可以发现,原本指定的字体大小是24px,但是最终计算出来的却是53px,看到这诡异的结果,我心中暗骂一句:这什么鬼! 随后开始对问题各种排查:某个标签引起的?某个CSS引起的?又或者是某句JS代码引起的.通过一坨坨的删代码,发现貌似都不是.我不禁又骂,到底什么鬼!不过中间还是发现了一些端倪:当页面中的标签数量或者文本数

每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容

前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望能够对大家有所帮助. 1.   在列表中为列表项添加子项 为列表添加子项大家都很熟悉,但是如何为列表项添加子项呢?例如列表项是一个文件夹,如何为该文件夹添加子项呢?这里就用到了List.AddItem()方法,具体示例如下: 首先我们要获取列表中的子项: SPListItem root_item=l

Python 可视化Twitter中指定话题中Tweet的词汇频率

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-8 @author: guaguastd @name: plot_frequencies_words.py ''' if __name__ == '__main__': #import json # import Counter from collections import Counter # import search from search impor

js获取一个字符串中指定字符串第n次出现的位置

1.JS获取一个字符串中指定字符串第n次出现的位置 了解类似的获取字符位置的方法: 1.1 charAt() 获取字符串指定位置的字符 用法:strObj是字符串对象,index是指定的位置,(位置从0开始数) strObj.charAt(index) 1.2 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置 用法:stringObject是字符串对象,searchvalue是指定的字符串值,fromindex(可有可无)指定开始匹配字符串值的位置,若无,表示从0位置开始

返回数组中指定的一列

提取二维数组相同的键和键对应的值组成一个新的一维数组, tp不支持此函数,所以自己在php中找到,写在了tp的function下//array_column — 返回数组中指定的一列 function arrayColumn(array $array, $column_key, $index_key=null){ //本函数用来检查指定的函数是否已经定义.参数 function_name 为待检查的函数名称.若已定义指定的函数则返回 true 值,其它情形均返回 false 值. if(func

删除字符串中指定位置的字符

/********************************************************************** * 版权所有 (C)2015, Wu Yingqiang. * * 文件名称:DelPosChar.c * 文件标识:无 * 内容摘要:删除字符串中指定位置的字符 * 其它说明:无 * 当前版本: V1.0 * 作 者: Wu Yingqiang * 完成日期: 20150115 * ***********************************

eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中

eclipse运行maven web项目报错: 信息: Starting Servlet Engine: Apache Tomcat/7.0.57 一月 07, 2015 11:50:44 下午 org.apache.catalina.core.ContainerBase startInternal 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catal

未经处理的异常在 System.Data.dll 中发生。其他信息:在应使用条件的上下文(在 &#39;***&#39; 附近)中指定了非布尔类型的表达式。

机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个判断并生成查询条件strCondition. 在机房收费系统的"联合查询"模块中出现的问题:"System.Data.SqlClient.SqlException"类型的未经处理的异常在 System.Data.dll 中发生.其他信息: 在应使用条件的上下文(在 '@strCondition' 附近)中指定了非布尔类型的表达式. 出错的DAL层代码为: Pu