Страница 1 из 1

Основы C#

СообщениеДобавлено: 30 апр 2020, 13:05
suckduck
Всем привет!
У меня есть класс Item от него наследуется Weapon. Я создаю коллекцию типа Item и туда в процессе работы попадают предметы типа Item в том числе и Weapon. Мне нужно разбить эту коллекцию на две другие, в одной просто Item во вторую Weapon. Вопрос как понять является ли элемент Item либо же это Weapon? На уме только GetComponent, но думаю у решётки для этого свои способы.

Re: Основы C#

СообщениеДобавлено: 30 апр 2020, 13:57
Woland

Re: Основы C#

СообщениеДобавлено: 30 апр 2020, 16:53
seaman
if (item is Weapon) {}
else {}

Re: Основы C#

СообщениеДобавлено: 30 апр 2020, 17:22
Xtir
А если много всяких наследников итемов, то будет if else if else if else и т.д?

Re: Основы C#

СообщениеДобавлено: 30 апр 2020, 18:26
Jarico
Xtir писал(а):А если много всяких наследников итемов, то будет if else if else if else и т.д?


Dictionary?

Re: Основы C#

СообщениеДобавлено: 30 апр 2020, 19:38
Tolking
У тебя недолжно быть просто итем. Должно быть итем и остальные наследуемые от него.

Re: Основы C#

СообщениеДобавлено: 30 апр 2020, 20:18
seaman
А если много всяких наследников итемов, то будет if else if else if else и т.д?

Значит что-то не то с архитектурой...

Re: Основы C#

СообщениеДобавлено: 30 апр 2020, 20:42
Xtir
seaman писал(а):
А если много всяких наследников итемов, то будет if else if else if else и т.д?

Значит что-то не то с архитектурой...

Кстати, по ссылке выше там именно такой пример и есть ;)