Ich habe versucht, durch Reflektion Elemente zu IList hinzuzufügen, aber beim Aufruf der "Add" -Methode wurde ein Fehler "object ref. not set" geworfen. Während des Debugging habe ich erfahren, dass GetMethod ("Add") eine NULL-Referenz zurückgegeben hat.
%Vor%Bitte helfen Sie.
Sie versuchen, eine Add
-Methode in Type
zu finden, nicht in List<MyObject>
- und dann versuchen Sie, sie in Type
aufzurufen.
MakeGenericType
gibt einen Typ und keine Instanz dieses Typs zurück . Wenn Sie eine Instanz erstellen möchten, ist Activator.CreateInstance
normalerweise der richtige Weg. Versuchen Sie Folgendes:
(Ich würde auch vorschlagen, dass Sie die Konventionen für Variablennamen befolgen, aber das ist eine separate Angelegenheit.)
Sie haben nur einen generischen Typ erstellt, Sie haben keine Instanz des Typs erstellt. Sie haben einen Listentyp, aber Sie haben keine Liste.
Die Variable Result
enthält ein Type
-Objekt, daher gibt Result.Gettype()
dasselbe wie typeof(Type)
zurück. Sie versuchen, in der Klasse Add
eine Methode Type
zu finden, nicht Ihre Listenklasse.
Könnten Sie keine Generika anstelle von Reflektionen verwenden, z. B .:
%Vor%Tags und Links c# reflection