Mono.CSharp.Constant.ImplicitConversionRequired C# (CSharp) Method

ImplicitConversionRequired() public method

public ImplicitConversionRequired ( ResolveContext ec, System.TypeSpec type ) : Constant
ec ResolveContext
type System.TypeSpec
return Constant
		public Constant ImplicitConversionRequired (ResolveContext ec, TypeSpec type)
		{
			Constant c = ConvertImplicitly (type);
			if (c == null)
				Error_ValueCannotBeConverted (ec, type, false);

			return c;
		}

Usage Example

Example #1
0
        public override Constant ConvertInitializer(ResolveContext rc, Constant expr)
        {
            if (expr is EnumConstant)
            {
                expr = ((EnumConstant)expr).Child;
            }

            var underlying = ((Enum)Parent).UnderlyingType;

            if (expr != null)
            {
                expr = expr.ImplicitConversionRequired(rc, underlying, Location);
                if (expr != null && !IsValidEnumType(expr.Type))
                {
                    Enum.Error_1008(Location, Report);
                    expr = null;
                }
            }

            if (expr == null)
            {
                expr = New.Constantify(underlying, Location);
            }

            return(new EnumConstant(expr, MemberType));
        }
All Usage Examples Of Mono.CSharp.Constant::ImplicitConversionRequired