Although, only accepting type will not solve your problem - you need to actually accept the instance (object) of the type (assuming you want to invoke instance methods/properties). The better way would be to accept an interface that your target type must implement.

You can also use a delegate for such notifications if its a simple one method callback. With interface, you can define multiple callbacks and also methods/properties to query the listener if needed. Here's the sample code using delegate