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.

Basic validation

Saturday, July 21 2018 validation csharp

To recap from last time, we want to create a simple library that allows us to express validation in a straightforward way, allowing us to concentrate on the rules we’re checking, not the boilerplate needed to make it work.

Read more »

Default includes and excludes for csproj

Saturday, July 14 2018 visual-studio

In an earlier post, I detailed how I converted a personal project across to the new csproj file format - it turns out that I made a few mistakes in the process.

Read more »

Why we need better validation

Saturday, July 07 2018 validation csharp

The state of validation in C# leaves something to be desired. Recently I was writing some code in the same old classic styles and the frustration got to me - surely there must be a better approach that doesn’t involve great lists of strings, the use of exceptions for flow control, and brittle unit tests.

Read more »

A question of struct performance

Saturday, June 30 2018 csharp

A question came up in an online discussion about the relative performance of using a bare primitive type vs wrapping that type into a struct. Wrapping the type is a common technique used to avoid runtime errors, enlisting the compiler to enforce the correct semantics at compile time instead. But, sometimes people worry about the performance cost of doing this.

Read more »

Solving my Assembly Load Issues

Saturday, June 23 2018 debugging

So far, I’ve identified that the version of System.Reflection found in the NuGet package is version and the version in the global assembly cache is version - so where is the version that the build process is choosing?

Read more »

Recent posts