Как создать объект, аналогичный Double, но со своими методами?
Я бы хотел сделать тип температуры, который вел себя как double, но в нем бы просто был еще метод конвертации в другие единицы. В общем настоящее значение переменной Т считается в кельвинах, и ему можно было бы присваивать значение, но у него к примеру может быть метод ConvertTo(string unit).
class Program
{
Temperature T = 298.15; // В принципе это то же, что и double T = 298.15;
Console.WriteLine(T + "(K) = " T.ConvertTo("C") + "(C)"); // 298.15(K) = 25(C)
// Но у типа Temperature просто есть
// метод ConvertTo(string unit)
// Если делать T структурой, у которой есть поле Value, то запись формул будет громоздкой:
double p;
p = R * T.Value / Vm;
// А хотелось бы так:
p = R * T / Vm;
}
Или посоветуйте другие способы для создания типов, у которых есть единица измерения. Я смотрел как на msdn приводят примеры с классами Temperature - и они все неудобные для реального использования в формулах. Мне просто понадобится аналогичные типы делать для давления, объема и т.д - то есть по дефолту надо хранить значение в единицах СИ (К, Па, м3), но и конвертацию тоже надо как-то учесть.