1
以下の両方の呼び出しと互換性のある署名を作成しようとしています。最初のものは正常に動作するようですが、2番目のものはSupplied parameters do not match any signature of call target.
と言います。何か案は?ジェネリックによる関数のオーバーロード:「提供されたパラメータが呼び出しターゲットのシグネチャと一致しません」
interface I1 {
name: string;
}
interface I2 {
age: number;
}
function set<T, KT extends keyof T>(arg1: KT, arg2?: undefined): (value: T[KT]) => void;
function set<T, KT extends keyof T, U, KU extends keyof U>(arg1: KT, arg2: KU): (value: U[KU]) => void {
// ...
return null;
}
set<I1, "name">("name"); // OK
set<I1, "name", I2, "age">("name", "age"); // ERROR: "Supplied parameters do not match any signature of call target."
二時間、あなたは私の一日行われました!あなたは本当に時の最も強力な忍です。 – kraftwer1