В следующем фрагменте кода:
public MyClass(string arg) : base(ComputeSomethingExpensive(arg))
{
this.OriginalArg = arg;
this.SomethingExpensive = ComputeSomethingExpensive(arg);
}
private static object ComputeSomethingExpensive(string arg) => // something expensive
Есть ли способ избежать двух вызовов ComputeSomethingExpensive
(например, создать идентификатор для статически вычисляемого аргумента базового класса) - предполагая, что базовый класс не делает ' t "хранить" предоставленный аргумент в любых доступных членах?