Такая вещь, как вычислительная машина для C #?

Есть ли какой-нибудь вычислительный механизм для C #, который может автоматически пересчитывать зависимые поля при изменении значения?

Позвольте мне вольный стиль для секунду, я представляю себе что-то вроде этого ...

 Field<double> quantity = Field.Create<double>("Quantity");
 Field<double> unitCost = Field.Create<double>("Unit Cost");
 Field<double> total = Field.Create<double>("Total");

 total.Calculation((q,uc) => q * uc, quantity, value);
      // would have signature something like this:
      // void Calculation<TR,T1,T1>(Func<TR,T1,T2>, Field<T1>, Field<T2>)

Это установило бы поля, которые автоматически распространяют зависимые значения.

 quantity.Value = 5.0;
 unitCost.Value = 1.5;
 Assert.That(total.Value, Is.EqualTo(7.5));

Очевидно, это простой пример, конечное использование будет гораздо больше похоже на вычисления сложная электронная таблица.

Если подумать, было бы замечательно, если бы поле / ячейки поддерживали уведомление об изменении.

9
задан skaffman 1 February 2011 в 11:53
поделиться