Ich erzeuge (mit System.Reflection.Emit) zwei Arten: nenne sie foo, bar. Der Haken ist, foo instanziiert und ruft bar, und bar verwendet foo.zwei TypeBuilder, die sich gegenseitig illegal nennen?
Alles funktioniert gut, wenn ich bar, aber wenn ich foo dann erzeuge, bekomme ich typeloadexception sagen, dass Typ foo nicht gefunden werden konnte. Es passiert (wahrscheinlich, weil der Fehler vage war), wenn ich versuche, den Konstruktor in bar zu finden, was als einer seiner Parameter foo erfordert.
Dies funktioniert, wenn bar geschachtelten Typ foo ist.
Also meine Frage ist - ist es illegal zwei Typen zu haben, die sich so nennen, oder mache ich es falsch?
Stellt sich heraus, lag der Fehler woanders. Die Methode, die bar auf foo anrief, war geschützt, also war das Leben gut, wenn bar in foo verschachtelt war, wenn ich es herauszog, konnte es diese Methode nicht aufrufen. Ich änderte es in die Öffentlichkeit und das Leben ist wieder gut. Stellt sich heraus, SRE und 2am nicht mischen. Danke trotzdem. –