Ich habe dies:Warum mit Initializern zu tun haben? (.net)
AudioPlayer player = new AudioPlayer();
player.Directory = vc.Directory;
player.StartTime = vc.StarTime;
player.EndTime = vc.EndTime;
Aber ich könnte dies:
AudioPlayer player = new AudioPlayer
{
Directory = vc.Directory,
StartTime = vc.StarTime,
EndTime = vc.EndTime
};
Wenn ich auf ‚neue Art des Schreibens Dinge‘ umwandeln, was erhalte ich neben Unlesbarkeit? Wird es mich näher an Lambda-Funktionen bringen (=>)?
Hat es etwas mit RAII zu tun?
ADDITION:
Einige antworteten, dass normale Initialisierung nach dem Objekt in ‚ungültig‘ Zustand belassen könnte zum Beispiel nur ein Verzeichnis-Eigenschaft - meine Beobachtung hier ist, dass jemand, der das Objekt der Gestaltung wurde wahrscheinlich in ein konstruiertes Auf diese Weise werden nur Werte, die wirklich eingegeben werden müssen, durch den echten Konstruktor eingegeben, und alle anderen können später frei modifiziert werden.
Nun, es scheint, als ob meine Ahnung von Lambda richtig war! –
Überprüfen Sie Ihr bevorzugtes C# -Sprachbuch auf "anonyme Typen". –
@Hans: wie in 'Ad-hoc-Property-Container'? –