bool TryConvertUnion(IReferenceMap referenceMap, object value, bool isOptional, UnionTypeReference unionType, out object result) { foreach (var type in unionType.Types) { if (TryConvert(type, referenceMap, value, out result)) { return(true); } } result = null; return(false); }
bool TryConvertUnion(System.Type type, IReferenceMap referenceMap, object?value, bool isOptional, UnionTypeReference unionType, out object?result) { foreach (var candidateType in unionType.Types) { if (TryConvert(candidateType, type, referenceMap, value, out result)) { return(true); } } result = null; return(false); }