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, October 13 2018 csharp
One of the recurring themes on this blog is the idea of making the computer work harder, not the user or the developer. I discovered recently that there was an easier and faster reflection technique than the one I was using - the technique that I’d been using for most of a decade!
Building on the infrastructure defined last time, let’s look at how we can avoid the use of magic strings when working with metadata.
In the last post we showed an api for how we can inject additional metadata into our validation results. The implementation is relatively straightforward - but there are a few moving parts that need to mesh together appropriately.
Given our requirement of supporting arbitrary metadata on our validation results, how should we modify the semantic types we’ve already created?
It’s a common requirement for validation messages to be tagged with additional metadata. We might want to indicate which data entry field is the one with a problem, or perhaps provide a tag for machine consumption that identifies which specific problem was encountered.
|Equality in .NET||7|
|Immutable Priority Queues||0|
|Killing the Utility Class||5|
|Instance validation in C#||12|
|Extending validation with warnings||08 Sep 2018|
|Bootstrapping a Psake build||01 Sep 2018|
|Validation recap||25 Aug 2018|
|Equality of validation||18 Aug 2018|
|Short-circuiting validation||11 Aug 2018|
|Aggregation of validation||04 Aug 2018|
|Recovery of validation types||28 Jul 2018|
|Basic validation||21 Jul 2018|
|Default includes and excludes for csproj||14 Jul 2018|
|Why we need better validation||07 Jul 2018|
|A question of struct performance||30 Jun 2018|
|Solving my Assembly Load Issues||23 Jun 2018|
|Troubleshooting Assembly Load Issues with the MSBuild Structured Log Viewer||16 Jun 2018|
|Troubleshooting Assembly Loading with the Assembly Binding Log Viewer||09 Jun 2018|
|Sharpen The Saw #37||04 Jun 2018|
|Converting projects to new csproj||02 Jun 2018|
|Avoid hardcoded wait times||26 May 2018|
|Sharpen The Saw #36||21 May 2018|
|Guaranteed Progression||19 May 2018|
|Always fix it twice||12 May 2018|
|Even longer than that||05 May 2018|
|Sharpen The Saw #35||30 Apr 2018|
|A simple fix takes longer than you think||28 Apr 2018|
|Sharpen The Saw #34||23 Apr 2018|
|How long is a simple fix?||21 Apr 2018|
|Sharpen The Saw #33||16 Apr 2018|
|Types behaving badly||14 Apr 2018|
|Implementing Value Equality||07 Apr 2018|
|Sharpen The Saw #32||02 Apr 2018|
|Implementing Entity Equality||31 Mar 2018|