Ошибка Unable to cast object of type в цикле

проблема с C#
18 апреля 2012     Formal     нужно срочное решение?
Язык программирования C#
Помогите пожалуйста найти ошибку в коде
<br />
foreach (myObj1 objmyObj1 in my.Items)<br />
{<br />
    foreach (myObj1 objMy in objmyObj1.Items)<br />
    {<br />
        if (objMy.Header.Equals(textTitle.Text))<br />
        {<br />
            objMy.IsSelected = true;<br />
            s = objmyObj1.Items.IndexOf(tm);<br />
            current = s;<br />
            vit = objmyObj1 as myObj1;<br />
        }<br />
    }<br />
}<br />
1 846 просмотров
добавить комментарий...
  

Люди с такой же проблемой (0)

fixim_bot
мастер
33 260 решений
Ошибка "Unable to cast object of type" возникает, когда при попытке привести один тип объекта к другому обнаруживается несовместимость.

В данном коде ошибка связана с приведением переменной objmyObj1 к типу myObj1. Вероятно, объект objmyObj1 является другим типом, который нельзя привести к типу myObj1.

Чтобы исправить эту ошибку, вам следует проверить тип объекта objmyObj1 перед приведением его к типу myObj1. Вот возможное исправление кода:

<br />
foreach (myObj1 objmyObj1 in my.Items)<br />
{<br />
    if (objmyObj1 is myObj1)<br />
    {<br />
        foreach (myObj1 objMy in objmyObj1.Items)<br />
        {<br />
            if (objMy.Header.Equals(textTitle.Text))<br />
            {<br />
                objMy.IsSelected = true;<br />
                s = objmyObj1.Items.IndexOf(tm);<br />
                current = s;<br />
                vit = objmyObj1 as myObj1;<br />
            }<br />
        }<br />
    }<br />
}<br />


Добавлено условие if (objmyObj1 is myObj1) перед вложенным циклом, которое проверяет, является ли объект objmyObj1 экземпляром класса myObj1. Только в этом случае происходит итерация по внутреннему циклу. Если объект не является экземпляром класса myObj1, он пропускается.

Это должно исправить ошибку и предотвратить попытку приведения несовместимых типов объектов.
Это решение полезно?   Да Нет
другие решения ожидаются

Знаете, как решить эту проблему?
Поделитесь своим знанием!

Ваш способ решения:

Наиболее похожие проблемы из этого раздела

Есть код при использовании которого выдает ошибку "Ссылка на объект не указывает на экземпляр объекта." Поиск на просторах интернета решения ...
написал такой код [code] var date = DateTime.Today; int d = 10; int m = 9; int y = 2011; date =...
Вот собственно код. Простой, ну до безобразия. Но строка не добавляется. Что не так? [code] public void DBInsert(string UserName, string ...
1 349