I ended up coding around it, but I can see this presenting a problem later on. When I get around to changing it I won't have conditionals splattered all over.
On Mon, May 11, 2009 at 5:12 AM, Ayende Rahien <[email protected]> wrote: > 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 -~----------~----~----~----~------~----~------~--~---
