using ConsoleApp1.intf; namespace ConsoleApp1.pubsub.generics { public abstract class Subscriber : ISubscriber where T : IMessage { public void FireEvent(T message) { if (message == null) { return; } if (string.IsNullOrEmpty(message.Text)) { return; } ObjFire(message); } protected abstract void ObjFire(T sMsg); } }