0
を持っていることを必要としますスカラ:どのタイプは、以下の状況で、Scalaでパラメータなしのコンストラクタ
class MyClass[T] {
}
がどのように私はTをパラメータなし/デフォルトコンストラクタを持つクラスであることを制限することができますか? ありがとう
を持っていることを必要としますスカラ:どのタイプは、以下の状況で、Scalaでパラメータなしのコンストラクタ
class MyClass[T] {
}
がどのように私はTをパラメータなし/デフォルトコンストラクタを持つクラスであることを制限することができますか? ありがとう
パラメータレスファクトリーを必要とするtypeclassアプローチを使用しますか。
trait Factory[T] {
def create(): T
}
class Foo() {
}
object Foo {
// Define Factory instance for Foo
implicit val factory: Factory[Foo] = new Factory[T] {
def create() = new Foo()
}
}
class MyClass[T : Factory] {
// accept only T with Factory[T] available
}
ありがとうございます。正確には私が心に持っていたものではありませんが、確かにこれを行う方法の一つです。 –
@cchantepは既にScalaの標準的なアプローチについて説明していますが、文字通り質問に答えることはできません。 –
これは[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のようです。なぜあなたはこれをしたいのですか? – badcook