問題タブ [nested-generics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
60 参照

c# - リスト エントリはクラスとインターフェイスの両方に準拠していますか?

次の C# クラスとインターフェイスがあります。

ここで、MyTool に子のリストを保持させたいと思います。子はすべて ITool に準拠し、NativeTool から継承します。クラス MyTool、MyWidget、および MyGadget はすべて、これらの基準に適合します。

私の質問は、その子が常に NativeTool と ITool の両方から継承されることを MyTool に伝える方法はありますか? 私はどちらか一方を簡単に行うことができます。でも両方?

0 投票する
2 に答える
41 参照

java - ジェネリックの階層を使用した Java でのキャスト

これらは私のクラス定義です:

なぜ私はこのようなことをすることができません:

?

0 投票する
1 に答える
538 参照

generics - さび: 巨大なジェネリック コンストラクター、ネストされたトレイト

私が取り組んできたライブラリをかなり一般的なものに保つために、構造体を構築するためだけにこの巨大なコードを書いていることに気づきました。

これは機能しますが、作業が面倒で、非常に反復的です。各入力にはそれに関連付けられた特性があり、これらの特性の一部はテンプレート化されています (Sampler)。

誰かがこれを表現するよりクリーンな方法を持っていますか? 私は問題をすべて間違って見ていますか?

ありがとう!

0 投票する
3 に答える
124 参照

java - これらの一般的な宣言の違いは何ですか?

これらのリストの内容の違いを平易な英語でどのように説明しますか?

参考になる簡単な比較を探しています。

のジェネリック宣言superは似ています。では、これらはどうでしょうか。

関連する質問とリソース

0 投票する
1 に答える
1117 参照

java - Java Generics: ネストされたワイルドカード パラメーターを使用した割り当て

次のコード サンプルの場合:

行 1、3、および 4 はコンパイルされません。

(ライン1)

(3行目)

(4行目)

ただし、2 行目と 5 行目はコンパイルされます。

1行目、3行目、4行目が合法的な割り当てではない理由を誰か説明できますか? また、これらの行でワイルドカード パラメータをそのように使用できない場合、なぜ 2 行目の代入が有効なのですか?

0 投票する
3 に答える
222 参照

java - Javaジェネリックでの無限のネスト

今日、Java で次のように宣言すると、次のようになることに気付きました。

次に、次のタイプのオブジェクトを再帰的に宣言できます。

そして、あなたはそれの終わりに到達することはありませんが、警告を満たすことは決してできません:「Foo は生の型です。型 Foo への参照はパラメーター化する必要があります。非常に興味深いです。

0 投票する
3 に答える
73 参照

java - パラメータ化された型の型パラメータへのアクセス

パラメータ化された typeA<T extends B>と別のがありC<T2 extends A>ます。

の 2 番目の型パラメーターとして追加することなくT、内部からサブクラスを (静的に) 参照することは可能ですか? 目的は、戻り値の型を持つメソッドを追加することです。CTCCT

書きたいこと:

0 投票する
1 に答える
132 参照

c# - 型に依存するメソッドのジェネリック C# 編成

タイプに依存する関数でリストを注文する基本メソッドで基本クラスを作成しようとしています。

私のコンパイラはこのエラーを表示します

エラー 13 'System.Linq.Expressions.Expression<System.Linq.Expressions.Expression<System.Func<T,string>>' の 'System.Linq.Expressions.Expression<System.Func<MLOLPlus.Business.Dealer,string>>' を変換できません。D:\Documenti\Lavori\timage\MLOLPlus\src\MLOLPlus.Business\DataAcess\DataTablesClasses\DataTableMultiSort.cs 197 20 MLOLPlus.Business

IdentityEntity は、すべてのカスタム クラス データ型の基本抽象クラス ベースです。

例:

  1. ユーザーは IdentityEntity を継承します
  2. 編集者も

基本クラス マルチソート:

カスタム ユーザー マルチソート

カスタム エディター マルチソート