Exemplo n.º 1
0
        protected override IEnumerable <object> ResolveEventTargets(IEventMessage message, object parentEntity, PropertyInfo field, IForwardingMode eventForwardingMode)
        {
            var fieldValue = (IEnumerable)field.GetValue(parentEntity);

            return(fieldValue == null
                ? Enumerable.Empty <object>()
                : eventForwardingMode.FilterCandidates(message, fieldValue.Cast <object>()));
        }
Exemplo n.º 2
0
 protected abstract IEnumerable <object> ResolveEventTargets(IEventMessage message,
                                                             object parentEntity,
                                                             PropertyInfo field,
                                                             IForwardingMode eventForwardingMode);
Exemplo n.º 3
0
        protected override IEnumerable <object> ResolveEventTargets(IEventMessage message, object parentEntity, PropertyInfo field, IForwardingMode eventForwardingMode)
        {
            var fieldValue       = field.GetValue(parentEntity);
            var valuesCollection = field.GetType().GetProperty(nameof(IDictionary.Values))?.GetValue(fieldValue) as IEnumerable;

            return(valuesCollection == null?Enumerable.Empty <object>() : eventForwardingMode.FilterCandidates(message, valuesCollection.Cast <object>()));
        }