问题标签 [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.
c# - 如何将泛型属性作为参数传递给函数?
我需要编写一个接收属性作为参数的函数并执行它的getter。
如果我需要传递一个函数/委托,我会使用:
是否有类似的方法来定义属性,以便我可以在函数代码中调用它的 getter 和/或 setter?
asp.net - ASP.NET 页面类上的泛型
我想在我的页面类中实现泛型,例如:
但要使其工作,我需要能够实例化类(使用正确的通用类类型)并加载页面,而不是常规的 Response.Redirect。有没有办法做到这一点 ?
c# - 如何确定我的类实例上的泛型参数的值
我有一个标记接口定义为
我有一个实现 IExtender 的类
在运行时,我收到 UserExtender 类型作为我的评估方法的参数
如何让我的 Evaluate 方法返回
基于运行时评估。我确信涉及到反射,但我似乎无法破解它。
(我不确定如何措辞这个问题。我希望它足够清楚。)
java - 如何使用 Hibernate HQL 结果避免类型安全警告?
例如我有这样的查询:
如果我尝试做这样的事情,它会显示以下警告
有没有办法避免它?
c# - C# 中是否有“匿名”通用标签,例如“?” 在 Java 中?
在 Java 中,可以声明一个由“未知”泛型类型参数化的变量,如下所示:
在 C# 中是否有与此问号等效的构造?
c# - C# 泛型有性能优势吗?
我有许多代表各种实体的数据类。
哪个更好:使用泛型和接口编写一个泛型类(例如,打印或输出 XML),还是编写一个单独的类来处理每个数据类?
是否有性能优势或任何其他优势(除了节省我编写单独类的时间)?
c# - 如何在不可变的泛型 Pair 结构上实现 IEqualityComparer?
目前我有这个(阅读建议后编辑):
问题是 First 和 Second 可能不是引用类型(VS 实际上警告我这一点),但代码仍然可以编译。我应该在比较它们之前将它们(第一和第二)转换为对象,还是有更好的方法来做到这一点?
编辑:请注意,我希望这个结构支持值和引用类型(换句话说,按类约束不是有效的解决方案)
编辑2:至于我想要实现的目标,我希望它可以在字典中工作。其次,SRP 现在对我来说并不重要,因为这并不是这个问题的真正本质——它总是可以在以后重构。第三,与 default(T) 比较不能代替与 null 比较 - 试试看。
c# - .NET 通用方法问题
我试图掌握 .NET 泛型的概念并在我自己的代码中实际使用它们,但我一直遇到问题。
有人可以尝试向我解释为什么以下设置无法编译吗?
我收到以下错误:
无法从 IRepo<'T> 转换为 IRepo<'ITypeEntity>
MethodA 使用 IRepo<'DetailType> 对象参数调用,其中 DetailType 继承自 ITypeEntity。
我一直认为这应该编译,因为我将 MethodA 中的 T 限制为 ITypeEntity 类型。
任何想法或反馈都会非常有帮助。
谢谢。
编辑: Nick R 有一个很好的建议,但不幸的是,在我的上下文中,我没有选择制作 ClassA Generic。B类可能是。
c# - .NET EventHandlers - 通用与否?
每次我开始深入 C# 项目时,我都会遇到很多真正只需要传递一个项目的事件。我坚持EventHandler
/EventArgs
练习,但我喜欢做的是:
以后,我可以拥有我的
然而,.NET 的标准似乎是EventArgs
为每种类型的事件创建一个新的委托和子类。我的通用方法有问题吗?
编辑:这篇文章的原因是我刚刚在一个新项目中重新创建了它,并想确保它没问题。实际上,我在发布时正在重新创建它。我发现有一个泛型
EventHandler<TEventArgs>
,所以你不需要创建泛型委托,但你仍然需要泛型EventArgs<T>
类,因为TEventArgs: EventArgs
.
另一个编辑:内置解决方案的一个缺点(对我来说)是额外的冗长:
对比
但是,客户注册您的活动可能会很痛苦,因为默认情况下会导入 System 命名空间,因此即使使用像 Resharper 这样的花哨工具,他们也必须手动查找您的命名空间......任何人都对此有任何想法?
.net - 从其名称实例化泛型的最佳方法是什么?
假设我只有一个泛型的类名作为“MyCustomGenericCollection(of MyCustomObjectClass)”形式的字符串,并且不知道它来自哪个程序集,那么创建该对象实例的最简单方法是什么?
如果有帮助,我知道该类实现了 IMyCustomInterface 并且来自加载到当前 AppDomain 的程序集。
Markus Olsson 在这里给出了一个很好的例子,但我不知道如何将它应用于泛型。