2013-08-27 7 views
5

Ich habe ein Problem, wo dieser CodeType.GetType() eine Stackoverflow werfen

Type.GetType("Fully qualified assembly name goes here"); 

Aber einen uncatchable Stackoverflow bekommen.

Ich habe es geschafft, die Klasse aus dem voll qualifizierten Assemblynamen zu instanziieren, bekomme aber diesen Fehler beim Aufruf von GetType mit dem gleichen Namen.

Um das hinzuzufügen, habe ich beobachtet, dass die fehlerverursachende Codezeile in einigen Fällen und nicht in anderen funktioniert, wobei in beiden Fällen derselbe vollqualifizierte Assemblyname verwendet wird.

Dies ist meine erste StackOverflow-Frage, daher sind Kommentare zur Struktur willkommen. :)

+3

Gibt es Schleifen, die diesen Code umgeben? – oleksii

+0

Diese Klasse haben Sie geschrieben? Wenn ja, könnten Sie den entsprechenden Code dafür bereitstellen? –

+10

Sie sind auf der richtigen Seite, wenn Sie Probleme mit einem Stack-Überlauf bekommen ... –

Antwort

0

Hier sind einige relevanten klingenden Stücke von Informationen, die von http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx helfen kann:

Um festzustellen, ob es ein Problem mit der Montage ist dies versuchen:

GetType verursacht Belastung der Baugruppe angegeben in typeName. Sie können eine Assembly auch mit der Load-Methode laden und dann die GetType-Methode oder GetTypes-Methode der Assembly-Klasse verwenden, um Type-Objekte abzurufen.

Wenn Sie einen Fehler auf Load(assembly) erhalten dann wissen Sie das Problem nicht mit dem GetType() Anruf ist.

Stellen Sie außerdem sicher, dass Sie in der richtigen Art von Montage vorbei sind:

GetType funktioniert nur auf Baugruppen von der Festplatte geladen. Wenn Sie GetType aufrufen, um nach einem Typ zu suchen, der in einer dynamischen Assembly definiert ist, die mit den Services System.Reflection.Emit definiert wird, tritt möglicherweise ein inkonsistentes Verhalten auf.