KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have an interface like this: public interface IFoo { int A {get;} int B {get;} } and I have multiple classes implementing IFoo. I want to check equality, not based on ReferenceEquality, but two IFoos should be considered equal, if both A and B is the same (in reality I'm checking a collection of Key-Value pairs sent through WCF, that is why I can't have ReferenceEquality). Now if I have: IFoo first = new FooBar1() { A = 1, B = 1}; IFoo second = new FooBar2() { A = 1, B = 1}; if (first == second) { //this should return true } Currently IFoo is IEquatable<IFoo> , so FooBar1 and FooBar2 overrides Equals(IFoo other) , but that's not what gets called on ==. I'm hunting through my code to replace a==b with a.Equals(b) everywhere, but that's just not nice. What can I do?
Tags (comma-separated)
Save Edits
Cancel