これはジェネリックの有効な使用例ですか?

PHPz
リリース: 2024-02-06 08:10:12
転載
561 人が閲覧しました

これはジェネリックの有効な使用例ですか?

質問の内容

私のコードには、次のような繰り返しの作業がたくさんあります。

リーリー

私の問題は、異なる数/型のパラメータを持つ新しい fp 型を追加するたびに、このメソッドを再定義する必要があることです。そのため、コード内でデコレータを 4 ~ 5 回再定義することになります。もう少し作業がかかるかもしれません。

をデコレータに置き換えたい リーリー

そして fp に型をアサートさせます。しかし、インターフェイスを使用しないことやパフォーマンスの問題を引き起こすことをよく見てきたため、これが問題を引き起こすかどうか、悪い使用例であるかどうかはわかりません。


正解


何らかの理由で、ジェネリックは役に立ちません。特にジェネリックは型に対してのみ役に立ち、パラメータには役に立ちません数量### 助けにならない。個人的には、私はこの問題に別の方法でアプローチします: リーリー クロージャを使用して呼び出します:

リーリー

これは呼び出し側では少し冗長ですが、任意の数またはタイプのパラメータ、および任意の数またはタイプの戻り値など、あらゆる関数シグネチャに対して完全に機能します。メソッド呼び出しでも機能します。結果に基づいてロジックを実行しているようですので、次のこともできます:

リーリー

装飾された関数がその bool よりも多くの戻り値を持っている場合、または他のロジックを使用したい場合 (たとえば、エラーを返した場合に

を使用して bool に変換したい場合でも) は機能します。 !=)。なし

)。

以上がこれはジェネリックの有効な使用例ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート