c#staticメソッドは、staticメンバー以外のエラーと解にアクセスできません
次のコードフラグメントは、この問題を示しています:
問題の原因
namespace WindowsApplication1 { public partial class Form1 : Form { ... private static void SumData(object state) { ... setTextboxText(result); // 错误:非静态字段、方法或属性 } } }
エラー情報は、静的な方法が非スタットメンバーを呼び出そうとすることを示しています
。静的メソッドは静的メンバーのみにアクセスすることができ、非スタットメンバーは属するオブジェクトへの参照を必要とします。
SumData
<决>solution setTextboxText
このエラーを解決する方法はたくさんあります:
<<>setTextboxText
public static void setTextboxText(int result)
を呼び出します
setTextboxText
Form1
setTextboxText
<调>コールメソッドでAclass Form1 { public static Form1 Instance; // 单例 ... private static void SumData(object state) { ... Instance.setTextboxText(result); } }
Form1
Instance
<实>インスタンスが既に存在する場合、この方法は適用できない場合があります。 Instance = this;
Form1
private static void SumData(object state) { ... Form1 frm1 = new Form1(); frm1.setTextboxText(result); }
Form1
詳細については、MSDNドキュメントを参照してください。
以上が静的メソッドがC#で非静的メンバーにアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。