C# エラー: 「非静的フィールドを使用するにはオブジェクトへの参照が必要です」
この C# コードには 2 つのクラスが含まれています。1 つはアルゴリズム パラメーターを定義し、もう 1 つはアルゴリズムを実装します。 2 番目のクラスの Main
メソッドで、次のエラーが発生します:
<code>需要对象的引用才能使用非静态字段、方法或属性 'VM_Placement.Program.GetRandomBits()'</code>
このエラーは、Main
メソッドが静的であり、GetRandomBits()
で非静的メソッドを呼び出そうとしていることが原因です。
解決策:
この問題を解決するには、次の 2 つの方法を選択できます:
Program クラスのインスタンスを作成します:
Main
メソッドで、Program
クラスのインスタンスを作成し、そのインスタンスで GetRandomBits()
を呼び出します。
<code class="language-csharp">Program p = new Program(); string bits = p.GetRandomBits();</code>
GetRandomBits() メソッドを静的にします:
メソッド宣言を変更して静的メソッドにします: GetRandomBits()
<code class="language-csharp">public static string GetRandomBits() { ... }</code>
クラスのインスタンスを作成せずにメソッドを直接呼び出すことができます。 Program
以上が「非静的フィールドにはオブジェクト参照が必要です」というメッセージが C# で発生するのはなぜですか?また、それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。