Esempio n. 1
0
 public override bool IsMatch(ResolutionContext context)
 {
     // destination type must be IEnumerable interface or a class implementing at least IList
     return(PrimitiveExtensions.IsEnumerableType(context.SourceType) &&
            (PrimitiveExtensions.IsListType(context.DestinationType) ||
             DestinationIListTypedAsIEnumerable(context)));
 }
Esempio n. 2
0
        public bool IsMatch(ResolutionContext context)
        {
            var isMatch = PrimitiveExtensions.IsEnumerableType(context.SourceType) &&
                          PrimitiveExtensions.IsCollectionType(context.DestinationType);

            return(isMatch);
        }
Esempio n. 3
0
        public bool IsMatch(ResolutionContext context)
        {
            if (
                !(PrimitiveExtensions.IsEnumerableType(context.SourceType) &&
                  TypeExtensions.IsGenericType(context.DestinationType)))
            {
                return(false);
            }

            var genericType = context.DestinationType.GetGenericTypeDefinition();

            return(genericType == typeof(ReadOnlyCollection <>));
        }
Esempio n. 4
0
 public override bool IsMatch(ResolutionContext context)
 {
     return((context.DestinationType.IsArray) && (PrimitiveExtensions.IsEnumerableType(context.SourceType)));
 }
Esempio n. 5
0
 public bool IsMatch(ResolutionContext context)
 {
     return((PrimitiveExtensions.IsDictionaryType(context.DestinationType)) &&
            (PrimitiveExtensions.IsEnumerableType(context.SourceType)) &&
            (!PrimitiveExtensions.IsDictionaryType(context.SourceType)));
 }
Esempio n. 6
0
 private static bool DestinationIListTypedAsIEnumerable(ResolutionContext context)
 {
     return(TypeExtensions.IsInterface(context.DestinationType) &&
            PrimitiveExtensions.IsEnumerableType(context.DestinationType) &&
            (context.DestinationValue == null || context.DestinationValue is IList));
 }
Esempio n. 7
0
 public override bool IsMatch(ResolutionContext context)
 {
     return(context.DestinationType.IsArray && context.DestinationType.GetArrayRank() > 1 &&
            PrimitiveExtensions.IsEnumerableType(context.SourceType));
 }
Esempio n. 8
0
 private static bool IsProjection <T>(Type resultType)
 {
     return(PrimitiveExtensions.IsEnumerableType(resultType) && !PrimitiveExtensions.IsQueryableType(resultType) &&
            resultType != typeof(string) && PrimitiveExtensions.GetGenericElementType(resultType) == typeof(T));
 }