public void TestOrder() { Func <Order, double> priceWithVatDelegate = ExpressionUtils.GetPropertyDelegate <Order, double>(o => o.PriceWithVat); var order = new Order() { }; order.Price = 20; order.Vat = 2; Assert.Equal(60, priceWithVatDelegate(order)); Assert.Equal(10, priceWithVatDelegate(new Order() { Price = 10 })); }