Re[2]: Злой косяк в EditableArrayList
От: Блудов Павел Россия  
Дата: 12.02.09 03:33
Оценка:
Здравствуйте, IT, Вы писали:

IT>Как воспроизвести?

Добавить в файл UnitTests\CS\EditableObjects\EditableArrayListTest.cs в метод TestList_ListChanged выделенную строчку:

private void TestList_ListChanged(object sender, ListChangedEventArgs e)
{
    Assert.That(sender, Is.InstanceOfType(typeof(EditableArrayList)));

    if (e.ListChangedType != ListChangedType.ItemDeleted && e.ListChangedType != ListChangedType.Reset)
        Console.WriteLine("ListChanged (ID:{3}). Type: {0}, OldIndex: {1}, NewIndex: {2}", e.ListChangedType, e.OldIndex, e.NewIndex, (e.NewIndex >= 0 && e.NewIndex < _testList.Count) ? ((EditableTestObject)_testList[e.NewIndex]).ID : -1);
    else
        Console.WriteLine("ListChanged (ID:???). Type: {0}, OldIndex: {1}, NewIndex: {2}", e.ListChangedType, e.OldIndex, e.NewIndex);
}


Понятно, что там будет BindingListImpl, т.к. событие ListChanged тупо ему делегируется:

public event ListChangedEventHandler ListChanged
{
    add    { BindingListImpl.ListChanged += value; }
    remove { BindingListImpl.ListChanged -= value; }
}


Как это исправить втупую понятно. А вот как исправить правильно .
... << RSDN@Home 1.2.0 alpha 4 rev. 1136>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.