1. ホーム
  2. c#

静的コードブロック

2023-10-13 01:44:15

質問

から行く Java から C# 私は次の質問があります。 javaで私は次のようにすることができます。

public class Application {
    static int attribute;
    static {
        attribute = 5;
    }
   // ... rest of code
}

私はこれをコンストラクタから初期化できることを知っていますが、これは私のニーズに合いません(私はオブジェクトを作成せずに初期化していくつかのユーティリティ関数を呼び出したいのです)。 C#はこれをサポートしていますか?もしそうなら、どのようにこれを行うことができますか?

事前にありがとうございます。

どのように解決するのですか?

public class Application
{     

    static int attribute;     
    static Application()
    {         
         attribute = 5;     
    }    // removed
}

C#では,これと同じように 静的コンストラクタ . 通常のコンストラクタと混同しないように注意してください。通常のコンストラクタには static 修飾子を付けません。

を想定しているのですが、あなたの //... rest of the code も一度実行される必要があると仮定しています。もしそのようなコードがなければ、単純にこれを行うことができます。

 public class Application
 {     

    static int attribute = 5;
 }