0
我目前正在写一个通用的函数来执行调度异步请求访问通用函数的类型,但我不能在调度处理器访问泛型类型:不能在内部PartialFunction
private def execQuery[MessageType](query : Req, errorMsg : String)
{
Http(query OK as.String).either
.onSuccess
{
case Left(error) => println(errorMsg)
case Right(json) => println(new MessageType(json)) // error here
}
}
我有一个错误新消息类型:“新消息类型(json)”中的“无法解析符号消息类型”。 你能帮我吗?
预先感谢您
维克多
编辑:我发现这里http://www.brentsowers.com/2011/11/writing-generic-functions-that-take.html的其他有趣的方式。你必须使用清单功能:
class DynamicTestClass() {
def output() {
println("Hello from a dynamically sent class")
}
}
def testFunc[T : Manifest]() : T = {
manifest[T].erasure.newInstance().asInstanceOf[T]
}
val dynamicTestClassInstance = testFunc[DynamicTestClass]()
dynamicTestClassInstance.output()
它似乎工作!
带口音的法语,+1。 '含蓄地[Cons [A]]',对吧? –
谢谢,但您的示例需要添加膨胀代码:/请参阅我的编辑,Manifest功能似乎是处理此问题的正确方法。 – mecanix
膨胀的代码?在那种情况下,我需要你定义'正确'。 – pedrofurla