【发布时间】:2013-06-27 20:12:55
【问题描述】:
在库存程序中,我创建了类Item 和ItemCollection,以及派生类Computer : Item。
在一个表单中,我创建了一个名为TheseItems(包括一些计算机)的ItemCollection(Items 的通用列表),我想显示每个项目ThisItem 的属性(如位置、数量等)。
在执行此操作时,我还想显示计算机的不同属性(例如 CPU、HDD 和 RAM)。到目前为止我有这个:
foreach (Item ThisItem in TheseItems)
{
//Display properties of Item instance “ThisItem” (Excluded for ease of reading)
if (ThisItem is Computer)
{
//Display distinct properties of Computer instance “ThisItem”
}
}
到目前为止,没有错误,但我不确定如何继续。有没有可能做我想做的事?
编辑:谢谢,牛排!我担心强制转换不允许我访问预先分配的属性(并且只允许分配新的属性),但幸运的是我错了!我现在有:
Computer ThisComputer = ThisItem as Computer;
if (Computer != null)
{
//Display distinct properties of Computer instance “ThisComputer”
}
我收到的快速帮助给我留下了深刻的印象。谢谢!
【问题讨论】:
-
你所拥有的将起作用。
标签: c# inheritance derived-class base-class ienumerator