Próbowałem dodać elementy do IList poprzez refleksję, ale podczas wywoływania metody "Dodaj" błąd został zgłoszony "ref. Obiektu nie jest ustawiony". Podczas debugowania dowiedziałem się, że GetMethod ("Add") zwrócił referencję NULL.Dodawanie pozycji do listy <T> przy użyciu refleksji
Type objTyp = typeof(MyObject); //HardCoded TypeName for demo purpose
var IListRef = typeof (List<>);
Type[] IListParam = {objTyp};
object Result = IListRef.MakeGenericType(IListParam);
MyObject objTemp = new MyObject();
Result.GetType().GetMethod("Add").Invoke(Result, new[] {objTemp });
Proszę o pomoc.
Pracowałem trochę z refleksją jakiś czas temu i doszedłem do wniosku, że nie lubię przeciążenia 'GetMethod (string)', ponieważ nigdy nie wiedziałem, czy to powróci. Spróbuj raczej użyć 'GetMethod (string, Type [])' lub 'GetMethod (string, BindingFlags)'. Może nie sprawi, że to zadziała, i może po prostu bym był paranoikiem, ale pamiętam, że wcześniej miałem wiele problemów z podobnymi problemami. – Alxandr