c# - 泛型类并为集合字段选择基础集合
问题描述
我想做这样的事情:
public class SomeClass<T> where T: ICollection
{
public T<double> ListOfDoubles { get; set; }
public T<int> ListOfIntegers { get; set; }
}
但是,我遇到的问题是 ICollection 需要一个类型参数我该如何解决这个问题?我找不到确切的答案,可能是我没有很好地制定我的搜索。
解决方案
你可以这样做 -
public class MyClass
{
public ICollection<double> ListOfDoubles { get; set; }
}
看起来你想要做的是确保这个类的属性是一个 ICollection,但在这种情况下你不需要指定它。
如果你想确保你的属性是一个通用的可枚举类型,你可以通过指定它是一个双精度的 IEnumerable 来做到这一点。或者,如果您想确保它是 ICollection 的一种类型,那么您也可以将您的属性声明为 -
public ICollection<double> ListOfDoubles {get;set}
即使编译器允许你做你正在做的事情,你也不会获得任何东西,因为你可以自己将属性声明为 ICollection,它已经是泛型类型。
推荐阅读
- javascript - 根据数组中的“数据标题”属性生成跨度内容
- google-bigquery - 标准 SQL;自定义查询日期参数数据工作室
- javascript - 双击事件在 D3 版本 6.1 上不起作用
- swift - 如何通过 swift build 使用本地包
- javascript - 正确修改从游戏中提取的文本并将其返回
- python - 更改 python 代码以摆脱 exec() 和 eval()
- java - 向 docker 发出 http 请求的问题
- azure-data-factory - Azure 数据工厂 - 使用源连接器摄取 XML 并存储为 CSV
- sql - 带有视图的 SQL Server 存储过程
- python-3.x - 如何为 mac-vendor-lookup 处理未知供应商