Здравствуйте, 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>>