I am currently getting exceptions when modifying an IBindingList on multiple threads. Does anyone have a threadsafe version before I write my own?
Asked
Active
Viewed 4,740 times
2 Answers
2
I think you'll find this an incredibly difficult task. The easier path would be to prevent multiple-thread access with a lock
:
void AddItemToList(object o)
{
lock(myBindingList)
{
myBindingList.Add(o);
}
}
Look at the lock statement docs for more info.

Ben Straub
- 5,675
- 3
- 28
- 43
-
1Shouldn't that be lock (_mySyncObject)? – ilitirit Sep 29 '08 at 13:32
-
3That's insufficient. Data binding won't respect your lock. When the binding list changes, the UI will immediately attempt to update and you'll get a cross thread error. – TrueWill Dec 14 '11 at 18:36
1
Only just found this post... do you mean like this?

Marc Gravell
- 1,026,079
- 266
- 2,566
- 2,900
-
1Bit of a shallow implementation. What about all the other zillions of methods that would need to be syncrononized (not least of which: GetEnumerator())? – piers7 Mar 26 '10 at 04:10