В программе инвентаризации я сделал классы Item
и ItemCollection
, а также производный класс Computer : Item
.C# Наследование - дифференцирование производного объекта из базового объекта
В форме я создаю ItemCollection
(общий список Item
с) называется TheseItems
(в том числе некоторых компьютеров), и я хочу, чтобы отобразить свойства каждого элемента ThisItem
(например, расположение, количество и т.д.).
Выполняя это, я хочу также отображать различные свойства для компьютеров (таких как процессор, жесткий диск и оперативная память). У меня это до сих пор:
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”
}
}
До сих пор ошибок не было, но я не уверен, как действовать дальше. Можно ли делать то, что я хочу?
EDIT: Спасибо, стейк! Я был обеспокоен тем, что кастинг не позволит мне получить доступ к предварительно назначенным свойствам (и просто разрешить назначать новые), но я, к счастью, ошибся! У меня теперь есть:
Computer ThisComputer = ThisItem as Computer;
if (Computer != null)
{
//Display distinct properties of Computer instance “ThisComputer”
}
Я действительно впечатлен быстрой помощью, которую я получил. Благодаря!
У вас будет работать. –