public static int MainMethod(string[] args)
        {
            Base b = new FurtherDerived();
            dynamic d = int.MaxValue;
            try
            {
                b[d] = 1;
            }
            catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException e)
            {
                return 0;
            }

            return 1;
        }
        public static int MainMethod(string[] args)
        {
            Base b = new FurtherDerived();
            dynamic d = int.MaxValue;
            try
            {
                b[d] = 1;
            }
            catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException e)
            {
                return 0;
            }

            return 1;
        }