これはOKみたい。

static double x;
static double y =
(
  (Func<double>)
  (
    () =>
    {
      var v = HighCostMethod();
      x = Math.Sign(v);
      return Math.Abs(v);
    }
  )
)();

もちろん俺ならこんなことしないw
素直に警告無視or抑止するのが一番いい。
無駄なことして可読性落とすなんて愚の骨頂