如何从另一个对象使用Scala case类

问题描述 投票:0回答:1

我有一个特征:

Trait paramsNeeded {
    case class ThingOne (name: String, content: String)
    val pairs : Map [String, ThingOne] 
}

并且A类扩展了此特征:

class aClass (id: String) extends paramsNeeded{
    val pairs : Map [String, ThingOne] = Map("aKey"->ThingOne("aName","aContent", id))
}

B类使用aClass:

class bClass {
    val withID = new aClass("100") //pass in id 100
    val toBeUsedinC = withID.paris("aKey") //the intent is to return case class ThingOne, and use it in cObject 
}

现在我希望使用的另一个对象cObject是toBeUsedinC,并且具有将其作为参数的函数。但是它无法识别类型案例类ThingOne:

object cObject {
    def useParam (thingToUse:ThingOne) // it does not resolve symbol ThingOne 
}

所以如何在cObject中使用toBeUsedinC并访问其值?非常感谢。如果解释不清楚,请告诉我。我很陌生。

scala class object traits case-class
1个回答
0
投票

在清理了您的一些早期拼写错误后,它将编译并运行。

© www.soinside.com 2019 - 2024. All rights reserved.