Sie können über die neue Objektinitialisierersyntax in C# 3.0 nachdenken. Es sieht wie folgt aus:
var foo = new Foo { Bar = 1, Fizz = "hello" };
uns So eine neue Instanz von Foo das ist zu geben, mit der „Bar“ Eigenschaft auf 1 initialisiert und der „Fizz“ Eigenschaft auf „Hallo“.
Der Trick mit dieser Syntax ist, dass wenn Sie das "=" weglassen und eine Kennung angeben, wird davon ausgegangen, dass Sie eine Eigenschaft mit demselben Namen zuweisen. So zum Beispiel, wenn ich bereits eine Foo Instanz hatte, konnte ich dies tun:
var foo2 = new Foo { foo1.Bar, foo1.Fizz };
dieses, dann wird immer ziemlich nah an Ihrem Beispiel. Wenn Ihre Klasse P1, P2 und P3 Eigenschaften hat, und Sie haben Variablen mit dem gleichen Namen, könnten Sie schreiben:
var foo = new Foo { p1, p2, p3 };
Beachten Sie, dass diese Instanzen ist nur für die Konstruktion - nicht für die Parameter in Methoden wie Ihr Beispiel zeigt vorbei - Vielleicht ist es nicht das, woran du denkst.
Sie könnten Matt sein, obwohl ich nicht sicher bin. Haha. wirklich müssen diese Dinge speichern, wenn ich sie beim nächsten Mal finde. Prost. – Schotime