OKay, das mit dem .Add etc. sieht da gut aus. Nur ist es in seinem Fall ein konkreter Observer. Ich möchte das als wiederverwendbare Klasse machen. Wenn ich es als generische Klasse mache
TObserver<T> = class
kann ich T ja nicht aufrufen, weil nicht klar ist, dass es eine Methode ist. Und ein Constraint, dass da nur Methodentypen reindürfen kenne ich leider nicht.
Ein Idee wie ich das umschiffe? Dann könnte ich das mit Stevies Lösung verbinden und wäre glücklich
TEvent<T> wirft zur Laufzeit eine
Exception, wenn T kein Event oder Delegate Typ mit
Rtti ist.
Dadurch, dass die Eigenschaft Invoke von T ist, kann man die auch aufrufen (z.B.
e.Invoke(Button1);
).