Ejemplo n.º 1
0
        public void ConvertFailImplicitOfferedDynamicallyExplicit()
        {
            dynamic  d  = new DynamicallyConvertible();
            DateTime dt = default(DateTime);

            Assert.Throws <RuntimeBinderException>(() => dt = d);
        }
Ejemplo n.º 2
0
        public void ConvertDynamicExplicit()
        {
            dynamic  d  = new DynamicallyConvertible();
            DateTime dt = (DateTime)d;

            Assert.Equal(new DateTime(1991, 8, 6), dt);
        }
Ejemplo n.º 3
0
        public void ConvertDynamicImplicit()
        {
            dynamic d    = new DynamicallyConvertible();
            string  name = d;

            Assert.Equal(nameof(DynamicallyConvertible), name);
        }
Ejemplo n.º 4
0
        public void ConvertFailImplicitWhenMatchingExplicit()
        {
            dynamic        d   = new DynamicallyConvertible();
            DateTimeOffset dto = default(DateTimeOffset);

            Assert.Throws <RuntimeBinderException>(() => dto = d);
        }
Ejemplo n.º 5
0
        public void ConvertBuiltInExplicit()
        {
            dynamic        d   = new DynamicallyConvertible();
            DateTimeOffset dto = (DateTimeOffset)d;

            Assert.Equal(new DateTimeOffset(1991, 8, 6, 0, 0, 0, new TimeSpan(2, 0, 0)), dto);
        }
Ejemplo n.º 6
0
        public void ConvertBuiltInImplicit()
        {
            dynamic d = new DynamicallyConvertible();
            Uri     u = d;

            Assert.Equal(new Uri("http://example.net/"), u);
        }
Ejemplo n.º 7
0
        public void ConvertFailNotOfferedConversion()
        {
            dynamic    d  = new DynamicallyConvertible();
            Expression ex = null;

            Assert.Throws <RuntimeBinderException>(() => ex = d);
            Assert.Throws <RuntimeBinderException>(() => ex = (Expression)d);
        }