Вопрос фон:Cast в списке отфильтрованных ожидающих изменений
Я проверяю в файлах в VS 2012 TFS программный и разработал следующий код, чтобы фильтровать ожидающие изменения на основе конкретного имени файла:
internal int CheckinTfsQaItem(IVersionControlItem tfsItem)
{
//Get the current workspace info.
var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(_checkedoutTfsItem.VcQaFolder);
//Get the TFS project object from the specified server path.
var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri);
//Get the workspace.
var workspace = workspaceInfo.GetWorkspace(server);
//Filter the pendingChanges object to checkin in only the specified checked out file by it's name.
PendingChange[] pendingChanges = (PendingChange[])workspace.GetPendingChanges().Where(x => x.FileName == tfsItem.Name);
//Check in the change, dont set a comment.
return workspace.CheckIn(pendingChanges, null);
}
вопрос:
Intellisense не показывает никаких ошибок, но когда я отладку, я получаю ошибку литого исключения ш пытаясь преобразовать особый объект PendingChange в один список объектов PendingChange, т. е. массив PendingChanges.
Здесь ошибка броска:
Результат Сообщение:
метод Test ADPTestProject.TFStests.Check_Facade_CheckIn_Method кинул исключение: System.InvalidCastException: Невозможно привести объект типа «WhereArrayIterator`1 [Microsoft.TeamFoundation .VersionControl.Client.PendingChange] 'totype' Microsoft.TeamFoundation.VersionControl.Client.PendingChange [] '.
Может ли кто-нибудь сказать мне, почему этот бросок терпит неудачу?
Спасибо! Не могу поверить, что я пропустил это. Теперь он отлично работает. Я буду отмечать ваш ответ как правильный, когда мне разрешат. – user1352057