donc, initialiseurs d'objets sont toutes sortes de pratique - surtout si vous faites LINQ, où ils sont carrément nécessaires - mais je ne peux pas comprendre tout à fait celui-ci:utilisation emboîtés de C# objet Initialiseur
public class Class1 {
public Class2 instance;
}
public class Class2 {
public Class1 parent;
}
en utilisant comme ceci:
Class1 class1 = new Class1();
class1.instance = new Class2();
class1.parent = class1;
comme initialiseur:
Class1 class1 = new Class1() {
instance = new Class2() {
parent = class1
}
};
cela ne fonctionne pas, est censé être Class1 une variable locale non affectée. il devient encore plus délicat dans LINQ quand vous faites quelque chose comme
select new Class1() { ...
il n'a même pas un nom pour désigner par!
Comment puis-je contourner ce problème? puis-je simplement ne pas faire de références imbriquées en utilisant des initialiseurs d'objet?
J'aime cette réponse mieux, mais cela ne fonctionne pas pour moi, parce que je suis parti que Classe2 est en fait la liste, pour rendre les exemples plus clairs. drat, ça a échoué. –