Ejemplo n.º 1
0
            internal static bool TrySubstituteValue(object value, Resolver resolver, out ISubstitutedValue substitutedValue)
            {
                if (value is Type)
                {
                    substitutedValue = new TypeSubstitution(TypeRef.Get((Type)value, resolver));
                    return(true);
                }

                substitutedValue = null;
                return(false);
            }
Ejemplo n.º 2
0
            internal static bool TrySubstituteValue(object value, Resolver resolver, out ISubstitutedValue substitutedValue)
            {
                if (value is Type[])
                {
                    substitutedValue = new TypeArraySubstitution(((Type[])value).Select(t => TypeRef.Get(t, resolver)).ToImmutableArray(), resolver);
                    return(true);
                }

                substitutedValue = null;
                return(false);
            }
Ejemplo n.º 3
0
            internal static bool TrySubstituteValue(object value, Resolver resolver, out ISubstitutedValue substitutedValue)
            {
                Requires.NotNull(resolver, nameof(resolver));

                if (value != null)
                {
                    Type valueType = value.GetType();
                    if (valueType.GetTypeInfo().IsEnum&& Enum.GetUnderlyingType(valueType) == typeof(int) && IsTypeWorthDeferring(valueType))
                    {
                        substitutedValue = new Enum32Substitution(TypeRef.Get(valueType, resolver), (int)value);
                        return(true);
                    }
                }

                substitutedValue = null;
                return(false);
            }