3

問題: GWT クライアント側にタイプ T のジェネリック スーパー クラスがあります。サブクラスは実行時に (GIN を使用して) 生成され、ジェネリック パラメータが初期化されます。具体的なサブクラスのジェネリック パラメータ タイプを実行時に取得できますか?

JRE 環境 (Class.getGenericSuperclass と Class.getActualTypeArguments を使用) で実際の型を取得できますが、GWT 環境でそれを行う方法がわかりません。いくつかの GWT 3rd リフレクション ライブラリを検索しましたが、この機能をサポートしていないようです。GWT から実行時にジェネリック パラメータ タイプを取得することは可能ですか? そうでない場合、回避策はありますか?

どうもありがとう。

プロジェクトを見つけました: コンパイル時にリフレクション情報を生成する gwt-preprocessor は、場合によっては非常に便利です。

4

1 に答える 1

5

GWT コンパイラはコンパイル時にすべてを認識しているため、実行時にリフレクションを使用する理由はまったくありません。これが、リフレクションが GWT でエミュレートされない理由です。

これに対処する正しい方法は、ジェネレーターを使用することです: http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html#generators

(または、別の観点から問題を検討して、熟考をまったく必要としないようにすることをお勧めします)

于 2012-03-12T15:33:40.117 に答える