質問: 何百ものメソッドを持つインターフェース( `ResultSet` )を実装する必要があります。ここでは、これらのメソッドのサブセットのみを実装し、他の`NotImplementedError`に対して`NotImplementedError`をスローします。 Javaでは、私は2つのソリューションを見つけました: 1. `ResultSet`実装する抽象クラス`AbstractResultSet`作成し、 `NotImplementedError`をスローするすべてのメソッドを宣言します。ハックはありませんが、定型コードがたくさんあります。 2. `InvocationHandler`ですべてのメソッドを一緒に実装するには、 `Proxy.newProxyInstance`を使用します。コードが少なくて済みますが、他のコーダーにはあまり即座に使用できません。 Kotlinに3番目のオプションがありますか? 私の場合、SQLServerBulkCopyを介して`SQLServerBulkCopy`にインポートするには、IBMデータセット(パック10進数、バイナリフィールド、ゾーン番号、可変長の行など)に`ResultSet`を実装する必要があります。どの`ResultSet`メソッドがこのクラスから呼び出されたのか分かりませんので、今は "最もよく使われている"メソッドだけを実装し、実装されていないメソッドへの呼び出しを記録します。
回答: ToDoをマークし、NotImplementedErrorをスローする標準のTODO関数をチェックアウトする ``` /** * Always throws [NotImplementedError] stating that operation is not implemented. * * @param reason a string explaining why the implementation is missing. */ @kotlin.internal.InlineOnly public inline fun TODO(reason: String): Nothing = throw NotImplementedError("An operation is not implemented: $reason") ``` 使用法: ``` fun foo() { TODO("It will be soon") } ``` この方法で、IDEの "todo"タブを使用して、実装されていないフェッチを見つけることもできます。それはプラスです。