Esempio n. 1
0
        public virtual Type ResolveRealTypeForProxy(Type type)
        {
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }
            // TODO: Implement some crude heuristics to check whether a type is a proxy type,
            //       that should be treated as its base type.
            //
            //       Maybe look for whether type is public (will proxys normally be internal?), or
            //       that it resides in different assembly than base type.
            //
            //       Or maybe just see whether type is mapped.
            //

            // Lets just try this for now:
            if (SourceTypes.Contains(type))
            {
                return(type);
            }

            if (type.BaseType != null && SourceTypes.Contains(type.BaseType))
            {
                return(type.BaseType);
            }

            return(type);
        }
Esempio n. 2
0
 /// <summary>
 /// Returns True if the SourceTypes contains ALL or the sourceType parameter.
 /// </summary>
 public bool ContainsSourceType(string sourceType)
 {
     // SourceTypes.Count == 0 is here when there is no Source Type selected - Sara
     return(SourceTypes.Count == 0 ||
            SourceTypes.Contains(Keywords.ALL) ||
            SourceTypes.Contains(sourceType));
 }
Esempio n. 3
0
        public virtual bool TypeIsMappedAsTransformedType(Type type)
        {
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            if (type.IsEnum)
            {
                return(false);
            }

            var typeIsMappedAsTransformedType = SourceTypes.Contains(type) ||
                                                TypeIsAnonymousOrGrouping(type);

            return(typeIsMappedAsTransformedType);
        }