问题标签 [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 投票
3 回答
4412 浏览

c# - 指定 ArrayList 元素的类型

我认为.net 3.0 中有某种方法可以为数组列表提供一个类型,这样它就不会只返回 Object,但我在这样做时遇到了麻烦。是否可以?如果是这样,怎么做?

0 投票
3 回答
18929 浏览

c# - .NET 泛型中重载运算符约束的解决方案

如果我想要一个只接受重载运算符的类型的泛型方法,例如减法运算符,我会怎么做。我尝试使用接口作为约束,但接口不能有运算符重载。

实现这一目标的最佳方法是什么?

0 投票
10 回答
464 浏览

c# - 用另一个列表更新一个列表所需的最少代码量是多少?

假设我有一个列表:

还有一个清单...

如何更新 originalList 以便:

  1. 如果 int 出现在 newList 中,保持
  2. 如果 int 没有出现在 newList 中,删除
  3. 将 newList 中的任何整数添加到 originalList 中尚不存在

因此 - 制作 originalList 的内容:

我问的原因是因为我有一个带有一组孩子的对象。当用户更新这个集合时,而不是仅仅删除所有孩子,然后插入他们的选择,我认为如果我只对添加或删除的孩子采取行动,而不是拆除整个集合,然后插入newList children 就好像他们都是新的一样。

编辑-对不起-我写了一个可怕的标题...我应该写“最少的代码”而不是“高效”。我认为这抛弃了我得到的很多答案。他们都很棒……谢谢!

0 投票
2 回答
328 浏览

.net - 如何根据传递给 VB.NET 泛型方法的类型执行条件逻辑

我想创建一个创建类实例的 VB.NET 通用工厂方法(作为控制容器的本土反转)。如果我将接口 IDoSomething 作为通用参数传递,我想返回一个 DoSomething 的实例(实现 IDoSomething)。我无法弄清楚 if 语句的语法。我想写一些类似的东西:

但是这段代码无法编译。

0 投票
4 回答
537 浏览

c# - 如何使用具有泛型参数的类型作为约束?

我想指定一个约束,它是另一种具有通用参数的类型。

但这还不能在 c# 中完成,(我真的怀疑它永远不会)。是否有任何优雅的解决方案,而不必指定关键帧参数的类型?:

0 投票
4 回答
828 浏览

generics - 何时在 IEnumerable<> 上使用 IEnumerable

由于 .NET 框架中缺乏泛型差异,如果方法被设计为处理多种类型,那么拥有处理 System.Collection 接口的非泛型版本的方法是否更“正确”?

理想情况下,一旦迁移到 .NET 3.5,代码将被修改以将这些方法更改为扩展方法。

0 投票
4 回答
1901 浏览

java - 泛型类型参数,具体扩展类?

我想要一个实现接口的类,它将特定的子类指定为参数。

但不仅仅是任务,或者,我想保证使用的类型参数是扩展这个的特定类的类型。

所以我想出的最好的是:

你可以通过写来扩展它:

但这也是有效的:

并且回调的调用将因 ClassCastException 而爆炸。那么,这种方法是错误的和被破坏的,还是有一种我错过的正确方法?

0 投票
3 回答
22851 浏览

c# - C# - 如何定义内联方法 Func作为参数?

我编写了一个简单的 SessionItem 管理类来处理所有那些讨厌的空检查,如果不存在则插入一个默认值。这是我的 GetItem 方法:

现在,我如何实际使用它,将 Func<T> 作为内联方法参数传递?

0 投票
4 回答
246 浏览

c# - 通用方法调用

我必须在上面指示的代码行中进行哪些更改才能使其正常工作。我只是想通过列表或数组来获取计数。

0 投票
1 回答
418 浏览

generics - 在服务组件上使用通用列表

我正在尝试将通用列表用作ServicedComponent类的属性...

代码编译没有错误,但是当我尝试使用MyList来自不同类的 com 对象上的属性时,没有值被添加到列表中。谷歌“告诉我”我不能在组件上使用泛型,但我还没有找到一个很好的解释为什么会这样以及一个很好的解决问题的方法。

有人可以帮我吗?