Exemplo n.º 1
0
        private static Type ToInstanceType(MemberMappingDescriptor member, Type type)
        {
            if (type.IsArray)
            {
                return(type.GetElementType());
            }
            if (typeof(System.Collections.ICollection).IsAssignableFrom(type))
            {
                string msg = ErrorBuilder.CantAggregateOverUntypedCollections(member);
                throw new OtisException(msg);
            }

            if (type.GetInterface(typeof(ICollection <>).FullName) != null)           // generic collection
            {
                return(type.GetGenericArguments()[0]);
            }

            // simple type
            return(type);
        }