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 回答