相談させてください。
以下のようなクラスを作りたいと考えています。

class MyStaticClass1
{
  static double HighCostMethod() { ... }

  public static double X = Math.Sign(HighCostMethod());
  public static double Y = Math.Abs(HighCostMethod());
}

しかし高コストな HighCostMethod を2回も呼びだすのは無駄なので
以下のように改良しました。

class MyStaticClass2
{
  static double HighCostMethod() { ... }

  public static double X, Y;
  static MyStaticClass2()
  {
    var v = HighCostMethod();
    X = Math.Sign(v);
    Y = Math.Abs(v);
  }
}

ところがこのコードは規則 CA1810 に違反すると警告が表示されました。
静的コンストラクターにはパフォーマンス上の欠点があるようなのです。
【CA1810 参照型の静的フィールドをインラインで初期化します - Visual Studio Microsoft Docs】
https://docs.microsoft.com/ja-jp/visualstudio/code-quality/ca1810?view=vs-2019
(続く)