Question

I am just wondering what the process is for checking the object type of something.

Basically I have an array of parent objects and I want to check if one of those objects is of a particular child type.

more specifically, I want to check if an array of GameScreen objects contains a GameScreen object of type GameplayScreen.

        GameScreen[] screens = mScreenManager.GetScreens();

        // loop through array and check if the object equals gameplayscreen


        }
Était-ce utile?

La solution

You can check the type using is operator like:

if(screens[0] is GamePlayScreen)

Or if you just need GamePlayScreen type objects from your array you can use :

GamePlayScreen[] items = screens.OfType<GamePlayScreen>().ToArray();

See: Enumerable.OfType. It uses System.Linq

Autres conseils

Use the is keyword when you want to check a type.

class Foo {}
class SuperFoo : Foo {}

bool IsSuperFoo(Foo foo)
{
    if (Foo is SuperFoo) return true;
    return false;
}

You can do the same for your GamePlayScreen.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top