当X扩展Y时,javax不适用于参数Y
事件处理程序。java:
public abstract class EventHandler<E> {
public abstract void HandleEvent(Object sender, E e);
}
Foo。java:
private OnProgressEventHandler m_OnProgressEventHandler = new OnProgressEventHandler();
private class OnProgressEventHandler extends EventHandler<ProgressEventArgs> {
public void HandleEvent(Object sender, ProgressEventArgs args) {
/*...*/
}
}
ProgressEventArgs。java:
public class ProgressEventArgs extends EventArgs {
/*...*/
}
条。java:
public void addProgressEventListener(EventHandler<EventArgs> listener) {
m_OnProgress.addListener(listener);
}
这一行:
myBarObject.addProgressEventListener(m_OnProgressEventHandler);
原因:
The method addProgressEventListener(EventHandler) in the type Bar is not applicable for the arguments (Foo.OnProgressEventHandler)
我不明白它为什么不编译,因为OnProgressEventHandler
扩展了EventHandler<ProgressEventArgs>
。我肯定我遗漏了一些琐碎的东西,但我不明白为什么
# 1 楼答案
改变
到