IMessagePublishPipeSpecification CreateMessageSpecification <T>(Type type) where T : class { var specification = new MessagePublishPipeSpecification <T>(); foreach (var pipeSpecification in _specifications) { specification.AddPipeSpecification(pipeSpecification); } _observers.MessageSpecificationCreated(specification); var connector = new ImplementedMessageTypeConnector <T>(this, specification); ImplementedMessageTypeCache <T> .EnumerateImplementedTypes(connector); return(specification); }
public ImplementedMessageTypeConnector(IPublishPipeSpecification specification, MessagePublishPipeSpecification <TMessage> messageSpecification) { _specification = specification; _messageSpecification = messageSpecification; }