Znalazłem this, ale spróbowałem go użyć i nie udało się.Używanie przedstawiciela do wywoływania konstruktora
Jak mogę utworzyć obiekt za pomocą refleksji i zrobić to szybko, umieszczając go w delegacie?
DynamicMethod dm = new DynamicMethod("MyCtor", t, new Type[] { });
var ctor = t.GetConstructor(new Type[] { });
ILGenerator ilgen = dm.GetILGenerator();
ilgen.Emit(OpCodes.Ldarg_0);
ilgen.Emit(OpCodes.Newobj, ctor);
ilgen.Emit(OpCodes.Ret);
var d = (Func<T>)dm.CreateDelegate(t);
dm.Invoke(null, new object[] { });
przed wprowadzeniem go w Deleage próbowałem przynajmniej wywołać i kiedy zrobiłem powyżej pojawia się błąd
An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Informacje dodatkowe: wyjątek został rzucony przez cel inwokacji.
jeśli zadzwonię d() zamiast ja dostać wyjątkiem
An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll
Additional information: Type must derive from Delegate.
Jak mogę umieścić żadnego konstruktora param do delegata i wywołać ją?
Jaki problem miałeś z Activator.CreateInstance? – dsolimano
dsolimano: Aby zwolnić. Tworzę tysiące obiektów i więcej. –