外部 API の開発に取り組んでいます。パブリック インターフェイスにメソッドを追加しました。
public void AddMode(TypeA mode);
public void AddMode(TypeB mode); // the new method, TypeB and TypeA are not related at all
1 つのテストが失敗し、合格していたnull
. これにより、コンパイラがあいまいな呼び出しと混同されました。null をキャストしてテストを修正しました。
しかし、私の質問は:
- これだけの理由で名前を変更する必要がありますか?
- それとも、私と同じようにクライアントにキャストを任せるべきですか? (何らかの理由で null を渡す場合)
この場合、API を設計する際に最適なものは何ですか?
編集:
呼び出しは、次のようではなく、このAddMode(null)のようでした:
TypeA vl = null;
AddMode(v1); // this doesn't cause a problem