Mainではないstaticメソッドから、非staticなSystem.Windows.Forms.LabelをつくったりControls.Add()したいんですが、やり方がわかりません。
Formを継承したクラスを使っていて、イメージとしてはこんな感じ(雑)
using System.Windows.Forms; class Hello : Form{ static void Main(){ Application.Run(new Hello("world")); } public Hello(string comeOn){ Width = 500; Height = 250; staticMethod(comeOn); } static void staticMethod(string LetsGo){ notStaticMethod(LetsGo); } private void notStaticMethod(string where){ Label label = new Label(); label.Text = "I'm in " + where + " now."; Controls.Add(label); } } /* Hello.cs(19,3): error CS0120: 静的でないフィールド、メソッド、またはプロパティ 'Hello.notStaticMethod(string)' で、オブジェクト参照が必要です Hello.cs(22,15): (以前のエラーに関連するシンボルの位置) */
普段はJavaを使ってるので、自分のインスタンス作ってできるかなーって思って
Hello hello; static void Main(){ hello = new Hello("world"); Application.Run(hello); } static void staticMethod(string LetsGo){ hello.notStaticMethod(LetsGo); }
こう書いたけどまたよくわからんエラーでダメでした。
どうすればいいんでしょう?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。