Object is bloated? That's an odd complaint. object was pretty much directly copied from Java
What are you saying - that if it was copied from Java, it must be OK? It is not impossible that object is both copied from Java and bloated.
I disagree on getting rid of Equals if for no other reason it's implicitly used often
But it isn't used often. Take an application of yours. What percentage of the types that you have defined in it need to worry about equality over and above ReferenceEquals? You may have collections of customer, but never collections of CustomerFactory, CustomerRepository, CustomerController, CustomerEditForm, etc...
And if there is no canonical idea of equality, that's what overriding Equals is for
If you override equals, you can only have one kind of non-reference equality per type, which is what Jon Skeet says is not always the right thing.
What are you saying - that if it was copied from Java, it must be OK? It is not impossible that object is both copied from Java and bloated.
I disagree on getting rid of Equals if for no other reason it's implicitly used often
But it isn't used often. Take an application of yours. What percentage of the types that you have defined in it need to worry about equality over and above ReferenceEquals? You may have collections of customer, but never collections of CustomerFactory, CustomerRepository, CustomerController, CustomerEditForm, etc...
And if there is no canonical idea of equality, that's what overriding Equals is for
If you override equals, you can only have one kind of non-reference equality per type, which is what Jon Skeet says is not always the right thing.