System.Web.UI.WebControls.UI.TableHeaderCell
派生自
System.Web.UI.WebControls.UI.TableCell
所以签名为foo(TableCell tc){}
将接受TableHeaderCell的实例。
但是,如果我创建两个新类并从TableCell
派生一个而从TableHeaderCell
派生另一个,那么我的新TableHeaderCell类显然无法转换为我的新TableCell类,因为它们不直接相关。
有没有解决这个问题?我猜不了。
答案 0 :(得分:3)
你的意思是这样的层次结构?
TableCell
/ \
/ \
TableHeaderCell CustomTableCell
/
/
CustomTableHeaderCell
不,在这种情况下,您无法将CustomTableHeaderCell
投射到CustomTableCell
。
在这种情况下你确定你真的需要继承吗?你可以使用构图吗?或者您可以让CustomTableCell
和CustomTableHeaderCell
实现ICustomCell
界面吗?如果您可以向我们提供有关您尝试做的更多信息,那将有所帮助。
答案 1 :(得分:0)
你可以继续将它们全部称为TableCell对象,至少目标是能够调用你的foo()。