While the deconstruct syntax is interesting for its convenience in assigning to a set of variables, what I believe has far broader implications is its potential to provide an “implicit conversion operator” and in a syntax that, quite frankly, is far easier to recall than the implicit cast operator. For example, I can provide deconstructors that map to a string […] Read more
The problem with finalizers on their own is that they don’t support deterministic finalization (the ability to know when a finalizer will run). Rather, finalizers serve the important role of being a backup mechanism for cleaning up resources if a developer using a class neglects to call the requisite cleanup code explicitly.
For example, consider the TemporaryFileStream, which includes not […] Read more
The following is an Expert from Chapter 9 of Essential C#.
Finalizers allow developers to write code that will clean up a class’s resources. Unlike constructors that are called explicitly using the new operator, finalizers cannot be called explicitly from within the code. There is no new equivalent such as a delete operator. Rather, the garbage collector is responsible for […] Read more
IntelliTect will be delivering our three day intermediate training class on ASP.NET Core on January 10th, 11th and 12th.
Please reach out to get started: (509) 315-3400 or Info@IntelliTect.com, or click here for specific agenda information.
Fody is a fantastic framework for creating IL weavers. For those who are unfamiliar with IL weaving, it is the art (and at times a seemingly magical incantation) of modifying an assembly post-compile. In this article we will walk through creating a library that can modify an existing .NET assembly.
Let’s start by looking at what actually happens when you […] Read more
The Build Date Problem
I have struggled to find a good way to communicate with users the version of a web site. Version numbers are tricky and only meaningful to people close to the project. I like dates but they are often tricky to implement.
My default choice has always been dates because they are easy for customers to understand. […] Read more
Based on our demonstrated experience and expertise with the Microsoft Cloud Platform, Microsoft has recognized IntelliTect as a Cloud Platform competency partner. This adds to our existing Microsoft Application Lifecycle Management (ALM) competency. As an Azure Cloud Partner, we can provide additional support to new and existing Azure clients.
We’ve been working with Microsoft and our clients for several years now to provide expert and […] Read more
Given that Microsoft has abandoned their TFS CmdLets, one alternative is to access VSTS data is through the OData interface using the Invoke-RestMethod.
Before you begin you need to setup Alternate authentication credentials by navigating to https://<yourtenant>.visualstudio.com/_details/security/altcreds. Once these are established, you will likely want to save them to a local PowerShell variable so that they can be reused for each […] Read more
I love unit tests. Specifically, I love unit tests that are easy to maintain. When I spend more time setting up a test then doing actual testing, it is a very strong code smell. Sloppy unmaintainable code has no place in your projects, especially not in your unit test project.
In this post I would like to present two […] Read more
Here are the steps I followed to get an ASP.NET Core project upgraded from an RC1 with some RC2 beta bits up to RTM.
This project is a full framework project without cross-platform capability. It uses Bower, NPM, and Gulp. I started the process by creating a scaffolded new project and based the upgrade on that. I also found it helpful to […] Read more