【发布时间】:2013-09-28 00:22:19
【问题描述】:
愚蠢的问题...
我正在使用 C# 泛型编写一些东西,并且觉得我发现了一个缺点,并且它可能会在 Scala 中使用更高种类的类型来克服,我只是模糊地熟悉。
代码如下:
public void Subscribe<P, T>(Action<T> callback) where P : ISubscriberProvider<T>
(Provider 可能是个不好的词……我想它可能真的是一个工厂)
所以问题是我必须在签名中同时提供 P 和 T。相反,我想要类似的东西:
public void Subscribe<P<T>>(Action<T> callback) where P : ISubscriberProvider<T>
这不是有效的语法。
这对 Scala 是否有效?
非常感谢!
【问题讨论】:
-
我不知道你想做什么。告诉我们你在哪里调用这个方法。此外,您可能希望查看
Future对象或Akka actors,而不是传递回调 -
检查这个线程 - stackoverflow.com/questions/3709298/removing-code-duplication。它可能会帮助您了解更高的种类基本上是关于什么的。
标签: scala