Generic Math at Raw Operator Speed 02 December 2020 Tips and Tricks If you need the absolute fastest way to do generic math operations in C# then this is the way to do it. When the JIT compiler processes this method for a particular type, there are a number of clever optimizations that happen which allow it to run at raw operator speed. [More]
Value Type Box Cache 23 November 2017 Tips and Tricks We've recently been building a .NET object database that necessarily stores a lot of data in object[] arrays. Most of the values in these arrays are default values (i.e. 0 for numbers), small integers, boolean values or enums. On a loaded instance there can be many millions of these boxes values sitting in memory and they are constantly being created and collected, which got me thinking...we could probably cache and reuse the boxes for a lot of these values, and thus the BoxCache was born! [More]
Getting Rid of Ugly TransformGroup Blocks in WPF 05 July 2016 Tips and Tricks If you're obsessed with beautiful and clean XAML code like I am, a real thorn in your side is seeing large ugly TransformGroup blocks in your code. Here's how to fix that. [More]
Building the Ultimate WPF Event Method Binding Extension 05 July 2016 Tips and Tricks Seeing that .NET 4.5 added support in WPF for markup extensions on events, I looked around to see what was out there in terms of method binding support. I couldn't find anything that quite did everything I needed, so I set out to build the ultimate method binding extension. [More]
WPF Visibility Binding with Design Time Control (and more!) 04 July 2016 Tips and Tricks Designers don't want to worry about how to modify view models when designing a UI. They just want to show and hide elements to see what they look like, and occasionally test out a few different values to make sure it still looks correct. The current methods are too complicated to setup or to cumbersome to work with for simple tasks. Here's an alternate approach. [More]