Mike,The reason that they are inheriting from ConsumerOf<T> is just so that would b easy on the code side, no objection to changing that, but I want to void having to special case for each interface.
On Sun, May 10, 2009 at 11:47 PM, Mike Nichols <[email protected]>wrote: > > Consider this rsb saga: > > public class CreateSampleAwareMaterialsTestSaga<TEntity, TMessage> : > ISaga<MySagaState>, > InitiatedBy<MESSAGE>, > Orchestrates<MaterialsTestCreatedMessage>, > Orchestrates<MergeSagaState> > where TMessage : CreateMaterialsTestMessage > {} > > > This will get a compiler error: > ..cannot implement both 'Rhino.ServiceBus.ConsumerOf<TMessage>' and > 'Rhino.ServiceBus.ConsumerOf<MaterialsTestCreatedMessage>' because > they may unify for some type parameter substitutions > > I consider this a bug because MaterialsTestCreateMessage ISN'T a > CreateMaterialsTestMessage (the 'where' constraint on TMessage). > Nonetheless, it exists. > > I can't think of a creative way to have a generic message type in a > saga without this coming up. I could close the saga and have a generic > on the message type but...rsb no supporty open generic messages. > > So I am asking for advice here...any ideas or am i missing something > obvious? > > This would go away if InitiatedBy and Orchestrates were not consumer > implementations...should I consider refactoring RSB in that direction? > It seems like this would come up fairly often ( I have hit this at > least twice on this project). > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en -~----------~----~----~----~------~----~------~--~---
