I'm Martin Cook. I've been bossing computers around, professionally, since the late 1980's. When I'm not coding, or writing about coding, I like watching hockey, playing guitar, running, drawing, painting, and sculpting.
The singleton pattern is probably one of the most overused design approaches of all times. Still, there are times when it actually makes sense to take that approach. Because of…
Back in the day, I remember creating new AppDomain instances to control the scope of loaded assemblies. If I wanted to load some assemblies, then release them, that was the…
Not too long ago I wrote a simple .NET Core WPF application to read references from a .NET assembly and then graph those relationships visually, using the Syncfusion diagram control…
There are times when I need to filter lists using a white list / black list style approach. For that purpose, I wrote two extensions methods that I'll cover in…
An unofficial pattern that Microsoft follows, for disposing of objects, is one where a class implements the IDisposable interface, along with it's public Dispose method, and then adds a protected…
Several years ago I was spelunking through the Entity Framework code and came across the implementation for the Include extension method. That method allows a query for a data context…
Not long ago I wrote about a hosted alert handler I sometimes use. That handler sends emails for error alerts. It does that through the use of an email service…
Posted by
By MartinFebruary 14, 2021Posted inCG.Core
There is a property on the AppDomain type, called FriendlyName that I use often. One thing about it though, I often have to follow up the call to FriendlyName with…
Last time I laid out my abstraction for handling alerts. I showed everyone my default alert handler, which, admittedly, doesn't do much. I promised I would follow up by showing…