1
こんにちは、私はkotlinドキュメントを通過して何も見つかりませんでした。私は何をしたいPOP1ます(私が本当に達成するために必要なことは一般的な方法でデータクラスのコピー機能を使用できるようにすることですデータクラスジェネリック型を使用しているkotlin
data class MyData(val pop1:Long,val pop2:String,...)
fun class MyGenericClass<T : isDataClass>(o : T){
// This is the important part
fun useCopy(value : Long) = t.copy(pop1 = value)
}
ような一般的なデータクラスでなければなりませんタール、何かを持っています常に)あなたは、その特定の問題のためのインタフェースを使用することを検討すべき事前
クラスに 'pop1'メンバーがない場合はどうなりますか?私の提案は、インターフェイスを定義し、次にあなたの(データ)クラスを継承させることです。 –
私は今、どのようにしているのですか?問題はコピーメソッドのコピー(pop1:Long)がデータクラス1を使用していないことです –
['sealed class'](https: /kotlinlang.org/docs/reference/sealed-classes.html)またはインターフェイスを使用し、名前付き引数を使用してリフレクションを使用してください。ただし、問題を再考するのはおそらく意味があります。これは珍しいユースケースです。 – Moira