- 締切済み
[C#]static void 関数内でthis
いつもお世話になっております 今回はその関数に入るとフォームのサイズが変わるようにしたいです そのために、このようなソースを書きました static void make() { this.Size = new Size(200, 100); } しかし、上記のようなソースでは キーワード 'this' は、静的プロパティ、静的メソッド、または静的フィールド初期化子では無効です。 などとなり、エラーが返ってきます public や privateに変更すると別の関数内でmake();と書いた場所が 静的でないフィールド、メソッド、またはプロパティ 'マインスイーパー_仮_.Form1.make()' で、オブジェクト参照が必要です などとエラーが返ってきます このようにエラーが起きて大変困っています インターネットで調べても解決策が見つかりません 至急回答をお願いいたします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10361)
回答No.2
エラーの原因としては、エラーメッセージがすべてです。 オブジェクトのサイズを変えたい訳なので、そのオブジェクトに対して(スタティックでない)関数を働かせます。 対象オブジェクト.make(); アドバイスとしては、オブジェクト指向プログラミングというものを全く理解されてないようなので、C#の入門書を買って、ちゃんと勉強を始めるのでしょうか。
- tsukasa-12r
- ベストアンサー率65% (358/549)
回答No.1
static を削除すればいいのではないでしょうか。 static void make() { this.Size = new Size(200, 100); } ↓ void make() { this.Size = new Size(200, 100); }
補足
静的でないフィールド、メソッド、またはプロパティ 'マインスイーパー_仮_.Form1.make()' で、オブジェクト参照が必要です ↑が出てしまいました^^;