Я получаю следующее сообщение об ошибке: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