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

c# - 如何将泛型属性作为参数传递给函数?

我需要编写一个接收属性作为参数的函数并执行它的getter。

如果我需要传递一个函数/委托,我会使用:

是否有类似的方法来定义属性,以便我可以在函数代码中调用它的 getter 和/或 setter?

0 投票
2 回答
874 浏览

asp.net - ASP.NET 页面类上的泛型

我想在我的页面类中实现泛型,例如:

但要使其工作,我需要能够实例化类(使用正确的通用类类型)并加载页面,而不是常规的 Response.Redirect。有没有办法做到这一点 ?

0 投票
3 回答
364 浏览

c# - 如何确定我的类实例上的泛型参数的值

我有一个标记接口定义为

我有一个实现 IExtender 的类

在运行时,我收到 UserExtender 类型作为我的评估方法的参数

如何让我的 Evaluate 方法返回

基于运行时评估。我确信涉及到反射,但我似乎无法破解它。

(我不确定如何措辞这个问题。我希望它足够清楚。)

0 投票
15 回答
70941 浏览

java - 如何使用 Hibernate HQL 结果避免类型安全警告?

例如我有这样的查询:

如果我尝试做这样的事情,它会显示以下警告

有没有办法避免它?

0 投票
6 回答
28169 浏览

c# - C# 中是否有“匿名”通用标签,例如“?” 在 Java 中?

在 Java 中,可以声明一个由“未知”泛型类型参数化的变量,如下所示:

在 C# 中是否有与此问号等效的构造?

0 投票
12 回答
19884 浏览

c# - C# 泛型有性能优势吗?

我有许多代表各种实体的数据类。

哪个更好:使用泛型和接口编写一个泛型类(例如,打印或输出 XML),还是编写一个单独的类来处理每个数据类?

是否有性能优势或任何其他优势(除了节省我编写单独类的时间)?

0 投票
7 回答
3735 浏览

c# - 如何在不可变的泛型 Pair 结构上实现 IEqualityComparer?

目前我有这个(阅读建议后编辑):

问题是 First 和 Second 可能不是引用类型(VS 实际上警告我这一点),但代码仍然可以编译。我应该在比较它们之前将它们(第一和第二)转换为对象,还是有更好的方法来做到这一点?

编辑:请注意,我希望这个结构支持值和引用类型(换句话说,按类约束不是有效的解决方案)

编辑2:至于我想要实现的目标,我希望它可以在字典中工作。其次,SRP 现在对我来说并不重要,因为这并不是这个问题的真正本质——它总是可以在以后重构。第三,与 default(T) 比较不能代替与 null 比较 - 试试看。

0 投票
10 回答
3353 浏览

c# - .NET 通用方法问题

我试图掌握 .NET 泛型的概念并在我自己的代码中实际使用它们,但我一直遇到问题。

有人可以尝试向我解释为什么以下设置无法编译吗?

我收到以下错误:
无法从 IRepo<'T> 转换为 IRepo<'ITypeEntity>

MethodA 使用 IRepo<'DetailType> 对象参数调用,其中 DetailType 继承自 ITypeEntity。

我一直认为这应该编译,因为我将 MethodA 中的 T 限制为 ITypeEntity 类型。

任何想法或反馈都会非常有帮助。

谢谢。

编辑: Nick R 有一个很好的建议,但不幸的是,在我的上下文中,我没有选择制作 ClassA Generic。B类可能是。

0 投票
9 回答
20748 浏览

c# - .NET EventHandlers - 通用与否?

每次我开始深入 C# 项目时,我都会遇到很多真正只需要传递一个项目的事件。我坚持EventHandler/EventArgs练习,但我喜欢做的是:

以后,我可以拥有我的

然而,.NET 的标准似乎是EventArgs为每种类型的事件创建一个新的委托和子类。我的通用方法有问题吗?


编辑:这篇文章的原因是我刚刚在一个新项目中重新创建了它,并想确保它没问题。实际上,我在发布时正在重新创建它。我发现有一个泛型EventHandler<TEventArgs>,所以你不需要创建泛型委托,但你仍然需要泛型EventArgs<T>类,因为TEventArgs: EventArgs.
另一个编辑:内置解决方案的一个缺点(对我来说)是额外的冗长:

对比

但是,客户注册您的活动可能会很痛苦,因为默认情况下会导入 System 命名空间,因此即使使用像 Resharper 这样的花哨工具,他们也必须手动查找您的命名空间......任何人都对此有任何想法?

0 投票
3 回答
3677 浏览

.net - 从其名称实例化泛型的最佳方法是什么?

假设我只有一个泛型的类名作为“MyCustomGenericCollection(of MyCustomObjectClass)”形式的字符串,并且不知道它来自哪个程序集,那么创建该对象实例的最简单方法是什么?

如果有帮助,我知道该类实现了 IMyCustomInterface 并且来自加载到当前 AppDomain 的程序集。

Markus Olsson 在这里给出了一个很好的例子,但我不知道如何将它应用于泛型。