I find I use addhandler frequently, but in specific areas.
For example I might have a timer (subclass) that inspects a queue to determine if emails should be sent. In the constructor I wire up the SMTPSecureSocket and it’s events, and in the action event I append then send the messages. For me this encapsulates the task rather than spreading code across multiple sub classes.
Is there a better way of achieving this?
I don’t use weakaddressof, but I often will write a destructor to removehandler (when the object will be destroyed - infrequent).