已经为类型参数“Chart”指定了 constraint 子句。必须在单个 where 子句中指定类型参数的所有约束
类型 参数 所有 指定 必须 约束 已经 where
2023-09-14 09:06:29 时间
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()
相关文章
- 判断浏览器类型-----------navigator.userAgent.indexOf()
- 单元测试时候使用[ClassInitialize]会该方法必须是静态的公共方法,不返回值并且应采用一个TestContext类型的参数报错的解决办法
- AnonymousType匿名类型和对象之间的转换
- swagger如何测试List类型参数
- Java的equals方法,首先要判断类型是否相同
- Python判断当前操作系统类型以及os/sys/platform模块简介
- Mybatis 传入List类型参数,报错:There is no getter for property named '__frch_item_0' in
- 【泛型】Generic 参数化类型 类型转换
- 类型参数的约束(C# 编程指南)
- 有关C#中的引用类型的内存问题
- SAP Fiori Elements原理介绍之类型为Currency的Smart Field工作原理
- Angular @Effect监听指定Action类型的实现原理
- Android修行手册之Kotlin-【变量和常量】、【基础类型】、【字符串】、【类型转换】、【函数定义】、【匿名函数】和【可变参数】
- PHP 类型比较
- 第54篇 QML类型 之 QObject自定义属性
- 通过特征类型超参数控制权重类型
- SpringBoot升级到2.0后默认时间格式变化_springboot接收date类型参数
- pbuf类型和应用
- python 设置位置参数是整数类型
- Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、
- Kubernetes集群Pod常用八种控制器类型详解篇(二十一)
- 尽量不要使用类型和数目不确定的参数
- 如果参数是指针,且仅作输入用,则应在类型前加 const,以防止该 指针在函数体内被意外修改
- 类型识别
- SpringMVC接收哪些类型参数参数