2

我有一个问题,当为 gwt 客户端编译这个类时,我需要更改方法体。对于服务器端,我使用反射,客户端不需要这种方法,所以它可以是空的。这是方法:

public void check(Class<?> typeClass, Object object) {
    if (!typeClass.isAssignableFrom(object.getClass()))
        throw new RuntimeException("Check doesn't pass!");
}

所以我需要检查 typeClass 是对象的超类还是超接口。

4

1 回答 1

0

您可以使用GWT.isClient()检查代码是否在客户端或服务器上运行。

public void check(Class<?> typeClass, Object object) {
    if(!GWT.isClient()) {
        if (!typeClass.isAssignableFrom(object.getClass()))
            throw new RuntimeException("Check doesn't pass!");
        }
    }
}

作为替代方案,您可以尝试在 gwt.xml 文件中使用超级源来提供您的类的仅限客户端版本。

于 2012-06-16T14:29:07.463 回答