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); }
/// <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)); }
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); }