【发布时间】:2013-07-22 02:25:42
【问题描述】:
我收到以下错误:
无法将“Holo.Virtual.Rooms.Bots.virtualBot”类型的对象转换为“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。