Taking advantage of high-level C# features to make our 3D games API or platform independent

In the last few years, programming languages and development tools have evolved quite a bit. Visual Studio is a masterpiece nowadays, and things like Refactoring and Intellisense make our life much easier. There are other cool features that can be now used in our code, and that are really appropriate...