It's one of the paradoxes of blogging that most every blogger (including myself) is sharing what they know right now (let's quietly ignore those who blog purely for traffic and visibility). Since everyone is learning, this can result in poor or misleading information being shared just as much as good information. Keep this in mind as you read any blog - how experienced is the writer and how well do they really know what they're talking about.
I'm just as flawed as other bloggers, so you should feel encouraged to check my ideas for yourself. Keep the date in mind as well - in our fast moving field, even good ideas can become obsolete.
Saturday, March 24 2018 equality
After symmetry, another aspect of the equality contract is
.GetHashCode(). When you first override
.Equals(object), the C# compiler will helpfully remind you that you must also override
Saturday, March 17 2018 equality
If we’re going to implement equality correctly, we need to consider the contract we’re implementing - what are the characteristics of a proper implementation of equality? The first characteristic we need to consider is symmetry.
Saturday, March 10 2018 equality
Having established the importance of equality in .NET, we can look at the different kinds of equality that you might encounter. There are three - Reference, Value and Entity equality.
Saturday, March 03 2018 equality
You can get by without consideration of equality in .NET projects for quite some time without having too many problems. Eventually, however, the time comes when you have to dig into those odd problems and fix things properly.
Saturday, February 24 2018 professional
Most people would agree that gaining experience is vital to career development, and I’m sure most managers would contend that their hiring decisions are, at least in part, driven by finding people with relevant experience to contribute to their team and their business.
|Equality in .NET||4|
|Sharpen The Saw #30||19 Feb 2018|
|A Tale of Minification||17 Feb 2018|
|Sharpen The Saw #29||12 Feb 2018|
|A Productivity Prompt for PowerShell||10 Feb 2018|
|Sharpen The Saw #28||05 Feb 2018|
|Prefer declarative method names||03 Feb 2018|
|Sharpen The Saw #27||29 Jan 2018|
|Killing the utility class with premeditation||27 Jan 2018|
|Sharpen The Saw #26||22 Jan 2018|
|Killing the utility class with relocation||20 Jan 2018|
|Sharpen The Saw #25||15 Jan 2018|
|Killing the utility class with consolidation||13 Jan 2018|
|Killing the utility class with semantic types||06 Jan 2018|
|Sharpen The Saw #24||01 Jan 2018|
|Killing the utility class with extension methods||30 Dec 2017|
|Handling command line parameters||23 Dec 2017|
|Defining command line parameters||16 Dec 2017|
|Sharpen The Saw #23||11 Dec 2017|
|The curious case of the test that wouldn't run||09 Dec 2017|
|Sharpen The Saw #22||04 Dec 2017|
|Assembly binding redirects for the fail||02 Dec 2017|
|Sharpen The Saw #21||27 Nov 2017|
|Error Methods||25 Nov 2017|
|Sharpen The Saw #20||20 Nov 2017|
|Coverage History with Psake||18 Nov 2017|
|Sharpen The Saw #19||13 Nov 2017|
|Tracking time with Psake||11 Nov 2017|
|Sharpen The Saw #18||06 Nov 2017|
|The day my Psake build broke||04 Nov 2017|
|Sharpen The Saw #17||30 Oct 2017|