Не происходит исключения под студией
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 04.06.11 14:54
Оценка:
Приветствую.

Win-форма. На форме ListView и Button. Всё по умолчанию — сгенерируйте их сами, если надумаете попробовать.
Также есть два класса (неважно какие):
    public class Class1
    {
        public string Name { get; set; }
    }

и
    public class Class2
    {
        public object Value { get; set; }
    }


При нажатии на кнопку в ListView добавляется пара ListViewItem у которых в Tag присвоен класс Class1.
Код формы:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            listView1.ListViewItemSorter = new ListComparer();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Class1 class1 = new Class1();

            ListViewItem lvi = new ListViewItem {Tag = class1,Text = "1"};
            ListViewItem lvi1 = new ListViewItem { Tag = class1, Text = "2"};
            listView1.Items.Add(lvi);
            listView1.Items.Add(lvi1);
        }
    }


А вот в коде сортировщика:
    class ListComparer : System.Collections.IComparer
    {
        public int Compare(object x, object y)
        {
            Class2 oX = (Class2)((ListViewItem)x).Tag;
            Class1 oY = (Class1)((ListViewItem)y).Tag;
            
            return 0;
        }
    }

свойство Tag преобразуем не к Class1, а к Class2.

Компилируем.
1. Запускаем под студии — всё ОК.
2. Запускаем без студии — Exception.

Это лечится?
Вселенная бесконечна как вширь, так и вглубь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.