Der Autor hält, was er im Vorwort verspricht: dieses Buch ist nicht die dreiundzwanzigste Inkarnation von "How do C#", beginnend mit dem nervigsten Element seit es Progammier-Lehrbücher gibt ("Hallo welt!"). Stattdessen lernt man zunächst eine Menge über die Elemente der objektorientierten Programmierung (OOP) und vor allem auch über die Ideen, die dahinter stehen.
Die "Bestandteile" der OOP (Typen, Namensräume, Klassen, Vererbung, ...) werden nach und nach (und in sinnvoller Reihenfolge) eingeführt, erläutert, mit Beipielen und einem geeigneten Listing versehen dargestellt. Dabei nutzt der Autor fast durchgängig ein "mitwachsendes" Praxisbeispiel.
Das Buch ist gut geeignet, wenn man objektorientierte Programmierung wirklich "von der Pike auf" erlernen und verstehen will, allerdings ist es zumindest hilfreich, wenn man schon mal Kontakt mit einer Programmiersprache hatte. Der eigentliche Code, um die Aufgabe zu lösen, steht nämlich konsequent hinter der Erklärung von Struktur und Aufbau zurück. Außerdem sollte man sich auf diese Art des Lernens einlassen können - wie gesagt: wer auf "Hallo Welt!" wartet, ist hier falsch.
Als nachteilig empfinde ich lediglich, daß in den teils recht umfangreichen Listings die aktuell neuen Elemente nicht hervorgehoben sind - man muß da schon ziemlich genau hinschauen, um die Veränderungen finden zu können. Auch erläutert der Autor nicht immer konsequent die Hintergünde bestimmter Konventionen (warum konkret ist dieses oder jenes sinnvoll?).
Alles in allem ein Buch für ambitionierte Amateure und (angehende) Profis, die OOP verstehen möchten. Wer sich dieser Zielgruppe zugehörig fühlt, kann eigentlich nichts falsch machen (zumal zu dem Preis).