问题标签 [generics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10600 浏览

c# - 将 Char[] 转换为列表(C#)

如何将 Char[] (任意长度)转换为 List ?

0 投票
3 回答
43258 浏览

java - 类泛型的类型不匹配

我有以下无法编译的代码,尽管有一种方法可以使其编译,但我想了解它为什么无法编译。有人可以告诉我具体为什么我会收到我将在最后发布的错误消息吗?

Type mismatch: cannot convert from Class<capture#1-of ? extends Test> to Class<T>

通过强制转换Test.classClass<T>this 编译并发出Unchecked cast警告并完美运行。

0 投票
1 回答
2311 浏览

.net - .Net:将对象的通用列表转换为数据集

有没有人有代码可以做到这一点?

0 投票
2 回答
869 浏览

c# - 编写泛型类来处理内置类型

也许不太实用,但仍然很有趣。

有一些关于矩阵乘法的抽象问题,我很快就为整数实现了一个矩阵,然后测试了我的假设。

在这里我注意到,如果我偶尔想将它与十进制或双精度一起使用,那么仅 int 矩阵并不好。当然,我可以尝试将 all 转换为 double,但这并不方便。

继续假设我们可以拥有一堆可以相加和相乘的对象——为什么不在我的矩阵中使用它们呢?

因此,在考虑它是一个 Matrix 类之后,我现在面临无法使用泛型 T 的问题,我需要它来支持一些可以加法和乘法的接口。

问题是我可以在我的类中覆盖运算符,但我无法引入支持运算符的接口。而且我有一个内置类型的运算符,但仍然没有它们的接口。

考虑到您不想复制工人阶级主体,在这种情况下您会怎么做?包装器和隐式转换对我没有多大帮助,我对一个漂亮的解决方案很感兴趣。

谢谢。

0 投票
1 回答
183 浏览

.net - 模板化代表

我有以下代码模式:

唯一的区别是方法的返回类型以及参数的数量和类型可能会有所不同。

我想创建一个通用/模板化方法来处理除“做一些工作”部分之外的所有代码,如何实现。

0 投票
3 回答
7539 浏览

generics - 我可以在没有 UncheckedException 的情况下使用 Collections.EMPTY_LIST 吗?

在我的 Java 程序中是否有使用 Collection.EMPTY_LIST 的泛型友好方式。

我知道我可以自己声明一个,但我只是想知道 JDK 中是否有办法做到这一点。

就像是users = Collections<User>.EMPTY_LIST;

0 投票
2 回答
20309 浏览

c# - 具有“专门”构造函数的 C# 泛型类

我有一个像下面这样的类:

我想为字典添加一个便利功能(因为它们自己有效地支持所有操作)。

但问题是这样的构造函数只会指定 Key 和 Value 而不是直接指定 T,而 T 只是 KeyValuePair。有没有办法告诉编译器这个构造函数 T 是 KeyValuePair,比如:

目前我使用静态 Create 函数作为解决方法,但我更希望直接构造函数。

0 投票
2 回答
1220 浏览

c# - 如何使用 C# 泛型将这 3 种方法合二为一?

我没有太多使用泛型,因此无法弄清楚是否可以使用泛型将以下三种方法合二为一以减少重复。实际上我的代码目前有六种方法,但如果你能解决这三种方法,那么其余的应该都可以使用相同的解决方案。

我正在构建一个简单的表达式解析器,然后需要评估简单的二进制运算,例如加法/减法等。我使用上述方法来获取使用相关类型执行的实际数学运算。但必须有更好的答案!

0 投票
3 回答
4872 浏览

wcf - 如何控制通用 WCF 返回类型的名称?

我有一个 WCF Web 服务方法,其原型是:

当我将服务引用添加到客户端时,Visual Studio (2005) 创建一个名为“ResponseOfArrayOfCustomerrleXg3IC”的类型,它是“Response<List<Customer>>”的包装器。有什么办法可以控制包装名称吗?ResponseOfArrayOfCustomerrleXg3IC 听起来不是很吸引人……

0 投票
5 回答
7764 浏览

c# - 键入泛型值 (C#)

当我使用 this.value 为 T 的泛型类尝试此操作时:

我收到一个编译时错误:“无法将类型 'T' 转换为 'int'”

当 this.value 是 int 时,我应该怎么做才能对 this.value 执行积分运算?

请注意,这只是一个示例。该代码使用泛型进行类型转换,“int”只是 T 的一种类型的示例。