私が書いている多くの方法は暗黙のうちに同じfunction typeを書いています。私がしたいことは、特定のメソッドが関数型に従わなければならないことを明示的に指定できるように、この関数型を強制することです。typescriptのクラスメソッドに関数型インターフェイスを適用するにはどうすればよいですか?
interface MyFunctionType {(resource: string | Resource): Something}
このクラスには、このインターフェイスに準拠したいくつかのメソッドがあります。
class MyClass {
// ...
someMethod() { /*...*/ }
someMethodThatConforms(resource: string | Resource) {
// ...
return new Something(/*...*/);
}
anotherMethodThatConforms(resource: string | Resource) {
// ...
return new Something(/*...*/);
}
someOtherMethod() { /*...*/ }
// ...
}
は、私がsomeMethodThatConforms
とanotherMethodThatConforms
は、インタフェースに準拠していることを知っているが、今、私は私がsomeMethodThatConforms
とanotherMethodThatConforms
インターフェイスMyFunctionType
を準拠しなければなりませんと主張ない方法を知りたい(私が変更した場合、MyFunctionType
エラーがスローされるように) ?
これは間違いなくトリックですが、別のインターフェース( 'FixedMethods')を作成せずにこれを行う方法があるかどうかは分かりますか? –
一般的なインターフェースのような型を定義し、メソッド名のリストとともに使用することもできます。この答えの2番目の部分を参照してください。 – Jokester