Immutability In C#

I’ve struggled with how to allow immutable
objects in object-oriented languages like C#, Java, and C++,
either at the application level or with new language features.
Here are a few thoughts.

It’s not so clear that immutable instances should be created in the constructor. For example, if an application has a complicated List<T> instance, how is this going […]