Beginning C# object-oriented programming - Clark, Dan (The expert's voice in .NET, 2013)