问题标签 [generic-method]

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 投票
1 回答
1144 浏览

reflection - 将 MakeGenericMethod 传递给动态类型

我正在尝试调用一个泛型方法并需要动态地传递一个类型。但是得到一个编译错误,'CS0246:找不到类型或命名空间名称't'。您是否缺少 using 指令或程序集引用'。请告诉我我忽略了什么,谢谢。

……主要……

通用方法...

0 投票
5 回答
5002 浏览

java - 结合原始类型和通用方法

这是一个问题,第一个代码清单编译得很好(JDK 1.6 | JDK 1.7):

但是,如果我将List引用声明为原始类型:

我收到一个编译器错误,说它String[]是必需的,但Object[]被发现了。

这意味着我的编译器将泛型方法解释为返回Object[],尽管它接收到 aString[]作为其参数。

我仔细检查了toArray(myArray)方法签名:

因此,它是一种参数化方法,其类型参数与 List(即)的类型参数<T>没有任何关系。<E>

我不知道在这里使用原始类型如何影响使用独立类型参数的参数化方法的评估。

  • 有谁知道为什么这段代码不能编译?
  • 有人知道记录此行为的任何参考吗?
0 投票
5 回答
1827 浏览

c# - 如何将 Type 变量发送到泛型方法?

我有这样的方法,

我不知道什么是 T 并且没有。但我有 T 类型作为 TYPE。

例如:

我没有人。Person 保持在类型对象上。

如何使用测试方法?

0 投票
1 回答
131 浏览

java - 定义功能性 Java API 时,通用通配符的正确用法是什么?

我正在编写函数式静态辅助方法,充当通用抽象的运算符(例如Iterable<T>),我对何时应该使用通配符感到有些困惑。在以下情况下,正确、最安全和最简单的方法签名是什么,为什么?

  • 检查属性:

public static int size(Iterable<?> source)

对比

public static <T> int size(Iterable<T> source)

  • 转型:

public static <T> Iterable<T> take(Iterable<T> source, int count)

对比

public static <T> Iterable<T> take(Iterable<? extends T> source, int count)

  • 结合:

public static boolean elementsEqual(Iterable<?> first, Iterable<?> second)

对比

public static <T> boolean elementsEqual(Iterable<T> first, Iterable<T> second)

对比

public static <T> boolean elementsEqual(Iterable<? extends T> first, Iterable<? extends T> second)

0 投票
2 回答
973 浏览

java - 为什么参数的私有字段对 Java 6 中的泛型方法可见但在 Java 7 中不可见?

可能重复:
泛型类的类型参数化字段在升级到 Java 7 后变得不可见

在针对 JDK 1.6 构建时,它编译得很好,但是针对 1.7,genericMethod() 中存在编译器错误:字段 Test._canYouSeeMe 不可见

可以通过使 _canYouSeeMe 受保护而不是私有来解决该错误,但我只是想知道从 1.6 到 1.7 发生了什么变化

0 投票
2 回答
307 浏览

r - 链接到 .rd 文件中的 S4 方法?

我正在编写一个带有 S4 类的包,并且我已经为该类编写了as.POSIXct方法as.POSIXlt。我已经编写了文档,一切看起来都很好,除了我想引用as.POSIXct文档中的方法,as.POSIXlt反之亦然。我试过\S4method{coerce}{abc, POSIXct}(from, to), (其中 'abc' 是 S4 类),但这应该只放在该\usage部分中,这不是我想要的。有没有办法做到这一点?对我来说这似乎很奇怪,这不会被允许。

我意识到可以组合这些 .rd 文件并避免这个问题,但我正在尝试尽可能多地了解 R 中的类和包,所以无论如何这对我来说很感兴趣。

这是 .Rd 文件之一的骨架:

倒数第四行是引起问题的行。

0 投票
1 回答
590 浏览

c# - 如何通过反射获取泛型参数的类型

我需要通过反射获取泛型参数的泛型类型。但真正的类型,而不是类型 { Name="T" ; 全名=空}

但我不能使用 typeof(T),因为我正在使用反射

有没有办法(使用反射)来获取泛型参数的类型类型。

在其他方面,我想知道如何调用 typeof(T) ex 调用的方法:

我如何从 T 泛型参数中获取 RuntimTypeHandle

0 投票
1 回答
486 浏览

java - Java 泛型方法

原始问题:

编写以下返回新 ArrayList 的方法。新列表仅包含原始列表中的元音元素,其中包含英文字符数组 (a,e,i,o,u)。

这就是我到目前为止所拥有的。我相信我创建了正确的通用方法来打印我的字符数组列表我只是在努力将元音放入另一个数组并打印它。有什么建议么?我想我可能需要创建一个“元音”的通用 ArrayList 才能使其运行?我在正确的轨道上吗?

谢谢你的帮助!

到目前为止,这是我的代码:

0 投票
1 回答
574 浏览

scala - 如何在 scala 中围绕泛型方法包装泛型方法?

我正在尝试包装 spray-json 解析器,使其返回Option而不是引发异常。

作为第一步,我只是试图用我自己的方法包装该方法,但我在使其通用时遇到了问题。

解析器使用隐式格式对象(它是为我正在使用的具体类型定义的)但是当该方法是通用的时,编译器会抱怨:

以下是相关代码:

我需要做什么才能使其正常工作?

0 投票
2 回答
75 浏览

c# - 如何获取通过通用方法传递的对象类型以与 foreach 一起使用?

使用以下代码,我尝试传入具有 items 列表的 'CachedModel model' List<CachedModel.CachedModelItem>。但是 foreach 不喜欢“项目”。它也不像 Item.GetType() 或 Type myType = Item.GetType(); foreach(myType 项目 ...

错误是:“找不到类型或命名空间名称‘Item’(您是否缺少 using 指令或程序集引用?)”

有任何想法吗?

称呼:

方法: