C# Class Ncqrs.Eventing.Sourcing.Mapping.AttributeBasedDomainSourcedEventHandlerMappingStrategy

An internal event handler mapping strategy that creates event handlers based on mapping that is done by attributes. Use the EventHandlerAttribute to mark event handler methods as an event handler. You can only mark methods that following rules: The method should be an instance method (no static). It should accept 1 parameter. The parameter should be, or inherited from, the SourcedEvent class. The method should be marked with the EventHandlerAttribute. public class Foo : AggregateRootMappedWithAttributes { [EventHandler] private void onFooEvent(FooEvent eventToHandle) { // ... } }
Inheritance: ISourcedEventHandlerMappingStrategy
显示文件 Open project: SzymonPobiega/ncqrs Class Usage Examples

Public Methods

Method Description
GetEventHandlersFromAggregateRoot ( IEventSource eventSource ) : IEnumerable

Gets the event handlers from aggregate root based on attributes.

Private Methods

Method Description
CreateHandlerForMethod ( IEventSource eventSource, MethodInfo method, Ncqrs.Eventing.Sourcing.Mapping.EventHandlerAttribute attribute ) : ISourcedEventHandler
FirstParameterType ( MethodInfo target ) : Type
IsMarkedAsEventHandler ( MethodInfo target, Ncqrs.Eventing.Sourcing.Mapping.EventHandlerAttribute &attribute ) : System.Boolean
NumberOfParameters ( MethodInfo target ) : int

Method Details

GetEventHandlersFromAggregateRoot() public method

Gets the event handlers from aggregate root based on attributes.
public GetEventHandlersFromAggregateRoot ( IEventSource eventSource ) : IEnumerable
eventSource IEventSource The aggregate root.
return IEnumerable