Может быть, монада использует деревья выражений?

Уродливо:

string city = null;
if (myOrder != null && myOrder.Customer != null)
  city = myOrder.Customer.City;

Лучше ( может быть монада ):

var city = myOrder
               .With(x => x.Customer)
               .With(x => x.City)

Еще лучше? По какой причине это не может быть записано?

var city = Maybe(() => myOrder.Customer.City);

5
задан Brian Low 9 December 2010 в 21:54
поделиться