public void Provide(Type type, ComponentData data)
        {
            var isUnique = Attribute
                           .GetCustomAttributes(type)
                           .OfType <UniqueAttribute>()
                           .Any();

            data.IsUnique(isUnique);
        }
Beispiel #2
0
 private ComponentData[] CreateDataForEvents(ComponentData data)
 {
     return(data.GetContextNames()
            .SelectMany(
                contextName =>
                data.GetEventData()
                .Select(
                    eventData =>
     {
         var dataForEvent = new ComponentData(data);
         dataForEvent.IsEvent(false);
         dataForEvent.IsUnique(false);
         dataForEvent.ShouldGenerateComponent(false);
         var eventComponentName = data.EventComponentName(eventData);
         var eventTypeSuffix = eventData.GetEventTypeSuffix();
         var optionalContextName =
             dataForEvent.GetContextNames().Length > 1 ? contextName : string.Empty;
         var listenerComponentName =
             optionalContextName + eventComponentName + eventTypeSuffix.AddListenerSuffix();
         dataForEvent.SetTypeName(listenerComponentName.AddComponentSuffix());
         dataForEvent.SetMemberData(
             new[]
         {
             new MemberData(
                 "System.Collections.Generic.List<I" + listenerComponentName + ">",
                 "value")
         });
         dataForEvent.SetContextNames(
             new[]
         {
             contextName
         });
         return dataForEvent;
     })
                .ToArray())
            .ToArray());
 }