DI is certainly a powerful design pattern. However not all projects are created equal, and the "right tool for the job" always applies. I've found one case for not using Dependency Injection.
Typical .NET Core WebAPI apps heavily rely on dependency injection. For my simple WebAPI, this made DB connection strings more complicated than I preferred. Here's my solution.
CallerArgumentExpressionAttribute can be used within functions to determine the original variable name of passed in arguments...would have been nice to have in .NET Framework 4!
The default implementation of ASP.NET Core WebAPI serialization is camalCase. This creates a problem when trying to deserialize PascalCase based names. Here's the fix.
With incredibly fast processing speeds today, it's worth taking a small bit of processing time to compress & decompress large text. Obviously this can reduce storage space, but most importantly improves bandwidth. It's also rather easy to do.
Calls to Xamarin's DisplayAlert are async. Calling await requires the calling function's signature to be async. Click event handlers are looking for non-async functions. Here's the work-around.