コード例 #1
0
        public void Should_call_virtual_method_in_non_virtual_way()
        {
            var virtualMethodInfo = typeof(BaseClass).GetMethod("Virt");
            var func = CreateFunc <BaseClass, string>(Expr.Return(Expr.CallExact(Expr.Parameter(0, typeof(BaseClass)), virtualMethodInfo)));

            Assert.That(func(new BaseClass()), Is.EqualTo("base"));
            Assert.That(func(new DerivedClass()), Is.EqualTo("base"));
        }