У меня есть класс (класс A), у которого есть метод с именем methodA.
class A
{
public Dictionary<string, double> methodA(double param1, double param2)
{
//do calculations
return result;
}
}
У меня есть 9 других классов (Class B, C, ....).У всех них есть поле с именем myField.Значение myField вычисляется с использованием метода A класса A. Они выглядят так:
class B
{
private Dictionary<string, double> myField;
private readonly A a = new A();
public B()
{
myField = a.methodA(param1, param2)
}
// methods using myField
}
param1 и param2 - это значения, которые никогда не изменяются и хранятся в другом месте.Таким образом, значение myField одинаково для всех классов и в течение всего времени выполнения приложения.Сейчас идет смена дизайна.Метод methodA обновляется и проверяет, является ли определенное условие истинным, и вычисляет значение myField на основе условия и параметров param3, param4, которые меняются во время выполнения.
public Dictionary<string, double> methodA(double param1, double param2, double param3, double param4)
{
if(condition)
{
result = .....
} else {
result = .....
}
return result;
}
условие изначально ложно и изменяется только один раз за время выполнения.После этого значение myField должно оставаться неизменным до конца времени выполнения.
Как мне реализовать это в определениях моего класса, чтобы значение myField обновлялось один раз после выполнения условия и оставалось постоянным доконец времени выполнения?