public static int MainMethod(string[] args)
        {
            Base    b = new FurtherDerived();
            dynamic d = int.MaxValue;

            try
            {
                var rez = b[d];
            }
            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
            {
                var rez = b[d];
            }
            catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException e)
            {
                return 0;
            }

            return 1;
        }