【发布时间】:2013-12-31 15:47:06
【问题描述】:
我有一个抽象类Event 和一个扩展它的具体子类PlaceChangeEvent。在事件侦听器中,我有以下代码:
void onEvent(Event event) {
PlaceChangeEvent pce = null;
if(event is PlaceChangeEvent)
pce = (PlaceChangeEvent)event; // <== error is here
else
throw new Exception("Event is not a PlaceChangeEvent.");
Place place = pce.place;
presenterProvider.display(place);
}
所以如果event 的运行时类型是PlaceChangeEvent,那么我需要将事件转换为该类型,以便我可以访问它的属性。但是我在类型转换上遇到编译器错误,说明:
“Type”类型的值不能分配给“PlaceChangeEvent”类型的变量
我哪里出错了,我需要做些什么来解决它?
【问题讨论】: