我想知道某个对象是否属于某个类型,即一个子类。我有3个类:Participant、Human : Participant和AI : Participant,其中实例的实现如下:
Participant player1 = new Human();
Participant player2 = new AI();我在一个participants[2]{ player1, player2 };和一个变量currentParticipant中找到了这些球员,它可以跟踪谁在转。
我想检查participants[currentParticipant]是否属于AI类型,我已经这样做了:
private void CheckParticipantsTurn(int currentParticipant)
{
if(participants[currentParticipant] is AI)
{
participants[currentParticipant].AiMove(); //currently empty
MessageBox.Show("Ai moved");
}
ChangeCurrentParticipant(currentParticipant); //switches current participant
}然而,它似乎从未将player2视为人工智能--它将其视为参与者。
问题:
如何检查player2是否属于AI类型,而不是参与者?
发布于 2018-03-31 23:37:05
您可以检查( participantscurrentParticipant.GetType() == typeof(AI) )
https://stackoverflow.com/questions/49593426
复制相似问题