問題タブ [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.
java - Java:ネストされたジェネリック?
Javaはジェネリックをネストできますか?以下は、Eclipseでエラーが発生する原因です。
エラーは次のとおりです。
Syntax error on token "(", Expression expected after this token
java - 内部クラスの一般的な可視性?
以下に貼り付けたようなコード部分があります。
私の「TheCache」クラスでは、ジェネリック型を特定の型に制限したいのですが、これは問題ありませんが、「値」をコンテナーとして取得すると、doSomething メソッドを実行できないという点で、何らかの形で型付けされません。なんで?
delphi - TObjectDictionary への参照を渡す.TValueEnumerator
Delphi 2010 の TObjectDictionary ジェネリックを使用しようとしています。
そのジェネリック クラスのプロパティの列挙子を渡しValues
たいのですが、コンパイラがそれを許可していないようです... 例:
これはエラーでコンパイルに失敗します:
コンパイラがサブタイプを適切に解決していないようです...
誰にもアイデアはありますか?
N@
java - ジェネリックツリー、自己境界-ジェネリック
私は自分のプロジェクトの1つに一般性を追加することになっています。ジェネリックスが大好きです。これにより、コードがより堅牢になり、自己文書化され、醜いキャストがすべて消去されます。
しかし、私は困難なケースに遭遇し、私の構造の1つに「再帰的」制約を表現しようとしていくつかの問題が発生しました。
これは基本的に、(子と親への)二重リンクを持つある種の「一般的な」ツリーです。問題を示すために、クラスを最大で簡略化しました。
問題は、命令:child.setParent(this)にあります。
Javaは次のエラーを出します:
バインドの不一致:タイプChildClassのメソッドsetParent(?)は、
引数(GenericTree)には適用できません。ワイルドカードパラメータ?下限はなく、実際には引数GenericTreeよりも制限が厳しい可能性があります
私が欲しいのは、次のようなものを表現できるようにすることです。
子クラスの親クラスはそれ自体である必要があると言うには...
自己境界ジェネリックに関するいくつかの記事を見てきましたが、この場合の適用方法がわかりません。
どんな助けでもいただければ幸いです。
c# - C#のネストされたジェネリックはどういう意味ですか?
少し基本的な質問ですが、それでも私を困惑させているようです。
「ネストされたジェネリック」が与えられた場合:
これは、IEnumerableがそれ自体がKeyValuePairのジェネリック型を持つことができることを示していますか?
ありがとう、
スコット
c# - C#でジェネリックを使用するときのポリモーフィズムを理解するのを手伝ってください
ジェネリックを使用する場合のポリモーフィズムの仕組みを理解するのに問題があります。例として、次のプログラムを定義しました。
その後、これを行うことができます。これはうまく機能します。
MyInterface を実装する多くのクラスがあります。すべての MyContainer オブジェクトを受け入れることができるメソッドを書きたいと思います:
では、このメソッドを呼び出したいと思います。
それはうまくいきませんでした。確かに、MyClass は IMyInterface を実装しているので、キャストするだけでよいのでしょうか?
それもうまくいきませんでした。通常の MyClass を IMyInterface に確実にキャストできます。
だから、少なくとも私はそれを完全に誤解していません。同じインターフェイスに準拠するクラスのジェネリック コレクションを受け入れるメソッドをどのように記述すればよいか、正確にはわかりません。
必要に応じて、この問題を完全に回避する計画がありますが、適切に実行したいと考えています。
前もって感謝します。
c# - ネストされたクラスを含むジェネリックを返すまたは継承する
次のようなクラス レイアウトを使用すると、非常に奇妙な動作が発生することに気付きました。
アセンブリ A をアセンブリ B の依存関係として追加できます。この例ではエラー メッセージが表示されずにコンパイルされますが、たとえば、ユニット テストの参照としてアセンブリ B を読み込むと、このエラーが表示されます。単体テストをコンパイルします。
ファイルまたはアセンブリ 'AssemblyB、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
このコードが生成するアセンブリは実際に機能し、Redgate Reflector を使用して生成された DLL を実行し、コードを期待どおりに表示できますが、単体テストで読み込みが拒否されます。
この問題が、別のアセンブリにあるネストされたクラスを呼び出しているという事実に関係していることはほぼ確実であり、とにかくこの設計をリファクタリングすることになるでしょうが、なぜこれが機能しないのかを本当に知りたいです期待される。この方法でクラスを使用する際に問題が発生した場合、コンパイラが例外をスローすることが予想されます。
お時間をいただきありがとうございます。
java - ネストされた汎用パラメーターのこのシステムを機能させるにはどうすればよいですか?
そのため、かなり複雑なシステムを機能させようとしています。これが私が試みていることの基本です。
ルール:
ハンドラー:
そして、それらを結び付けます:
これまで、さまざまなパラメーター (ワイルドカード、制限付きなど) のさまざまな組み合わせを試みましたが、型関連のエラーなしでこのコンパイルをまだ取得していません。洞察、解決策、または代替アプローチは大歓迎です。
java - Eclipse でネストされたジェネリックを指定する方法
このタイプを指定したい:
しかし、エクリプスはこれを拒否します。Eclipse なのか Java パーサーなのかわかりません。
学習時に独自の Java パーサーを作成しようとしたときに、同様の問題が発生しました: ">>" はシフト演算子と見なされました。
何が起きてる?
編集:Javaはこれで機能します。
java - 有効なジェネリックを使用して Class.class を宣言する方法
注: 純粋に好奇心からであり、実際の使用例ではありません。
Class
Class
有効な型パラメーターを使用してオブジェクトを宣言する方法があるかどうか疑問に思っています。
Class
とが交換可能である場合Class<?>
、なぜ交換可能ではClass<Class>
ないのClass<Class<?>>
ですか?
編集:質問は、ネストされた生の型パラメーターの問題に一般化できます。例えば:
EDIT2:質問を少し言い換える必要があります:私はそれを知っています
Class<Class>
は有効ですが、なぜ同じではないのか疑問に思っていますClass<Class<?>>