Bump
"And I now see Compare() in Contains would always work because it's using Object.Compare(), not whatever I've got."
No it doesn't, because it will use the overridden version of Compare() in MyObject (derived from Object (right?)).
So,
"Is there a sensible reason why Contains uses _value.Compare(value) and not just _value=value?"
"And I now see Compare() in Contains would always work because it's using Object.Compare(), not whatever I've got."
No it doesn't, because it will use the overridden version of Compare() in MyObject (derived from Object (right?)).
So,
"Is there a sensible reason why Contains uses _value.Compare(value) and not just _value=value?"