2012-04-25 5 views
0

Я работаю над классом экранного менеджера для проекта XNA. Я отслеживаю список типов GameScreen, чтобы отслеживать каждое из моих состояний игры. Каждый из моих экранов наследует от GameScreenПоиск дочернего объекта в списке, объявленном как родительский объект

Как я могу найти конкретного ребенка в моем списке?

Например, предположим, что мы имеем:

List<Fruit> fruits = new List<Fruit>(){Apple, Orange, Banana, Pineapple}; 

Я хочу, чтобы написать функцию, которая принимает в определенном типе фруктов и возвращает этот конкретный плод из списка. Как мне это сделать?

EDIT

public Fruit findFruit(object myFruit) 
{ 
    //use myFruit to find the correct fruit in the list 
} 
+0

не имеет отношения к вашему вопросу, но я хочу изучить xna game dev где я должен начать? извините за вопрос – Zaki

+0

@ Sam1 Вот хороший начало: http://create.msdn.com/en-us/education/gamedevelopment – NexAddo

+0

высоко ценится :) – Zaki

ответ

1

Домашнее задание?

Вы можете сделать это следующим образом:

public Fruit GetFruit(Type type) 
{  
    return fruits.Find(x => x.GetType() == type); 
} 
0

Loop Повсеместно каждый элемент и сравнить тип класса, который вы хотите

Еогеасп (фрукты п в плодах) { если (TypeOf (f) is typeof (Apple) return f; }

Смежные вопросы