,我发现了以下错误的对象:System.InvalidCastException:无法投类型
Unable to cast object of type 'Holo.Virtual.Rooms.Bots.virtualBot' to type 'Holo.Virtual.Rooms.Bots.virtualRoomBot'.
这里是我的代码:
foreach (virtualRoomBot roomBot in _Bots.Values) // Exception thrown here
{
if (roomBot.goalX == -1)
continue;
Holo.Virtual.Rooms.Bots.virtualBot包含:
public class virtualBot
{
public virtualBot(int botID)
{
DataRow dRow;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dRow = dbClient.getRow("SELECT * FROM roombots WHERE id = '" + botID + "'");
}
*There are values for the db here*
}
}
而且Holo.Virtual.Rooms.Bots.virtualRoomBot包含:
public class virtualRoomBot
{
internal virtualRoomBot(int botID, int roomID, int roomUID,
virtualBot Bot, virtualRoomBotStatusManager statusManager)
{
this.botID = botID;
this.roomID = roomID;
this.roomUID = roomUID;
this.Bot = Bot;
this.statusManager = statusManager;
}
'virtualBot'和'virtualRoomBot'是两种不同和不相关的类型。你不能直接从一个投向另一个。如果'_Bots.Values'包含一个'virtualBot'类型的对象的集合,那么你不能把它看作你正在尝试做的'virtualRoomBot'类型的对象的集合。除此之外,目前还不清楚你想要做什么或者你在哪里获得'_Bots.Values'。 – David