so, Objektinitialisierer sind alle Arten von praktisch - vor allem, wenn Sie Linq tun, wo sie sind geradezu notwendig - aber ich kann nicht ganz diese eine heraus:Nested Verwendung von C# Objektinitialisierer
public class Class1 {
public Class2 instance;
}
public class Class2 {
public Class1 parent;
}
mit wie folgt aus:
Class1 class1 = new Class1();
class1.instance = new Class2();
class1.parent = class1;
als Initialisierer:
Class1 class1 = new Class1() {
instance = new Class2() {
parent = class1
}
};
dies nicht funktioniert, class1 ist angeblich eine nicht zugewiesene lokale Variable. es wird noch schwieriger, in Linq, wenn Sie so etwas wie
select new Class1() { ...
es hat zu tun sind nicht einmal einen Namen beziehen durch!
Wie kann ich das umgehen? kann ich einfach verschachtelte Referenzen nicht mit Objektinitialisatoren machen?
Ich mag diese Antwort am besten, aber es funktioniert nicht für mich arbeiten, weil ich links heraus, dass Class2 ist eigentlich Liste, um die Beispiele klarer. Drat, es ging nach hinten los. –