here's another quirk in .net 4.0 i found:
When i want to check if a variable, which holds a System.Drawing.Brush, holds a certain Brush, like:
using System.Drawing;
HisCell.Col == Brushes.White
it sometimes fails, despite the fact I assigned Brushes.White to HisCell.Col earlier.
How do i work around this bug?
The
Brushesclass creates thread-local copies of itsBrushobjects. So, if you did a comparison ofBrushes.Whiteto a value that was set on another thread, they'd be different objects and result in false in equality becauseBrushdoes not implement equality so reference equality would be performed.