質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

1089閲覧

C# 静的メソッド自体をボタンで呼び出したい

itachocoice

総合スコア10

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2022/09/29 01:53

編集2022/09/29 02:24

前提

C#初学者です。
private void button1_Clickにてstatic void main(string[] args)を呼び出したいと考えておりますが、エラー対処の方法が分かりません。

実現したいこと

static void main(string[] args)を呼び出したい。

発生している問題・エラーメッセージ

'UserControl1.main(string[])' の必要な仮パラメーター 'args' に対応する特定の引数がありません

該当のソースコード

C#

1public partical class UserControl1: UserControl 2{ 3 static void main(string[] args) 4 { 5 //処理 6 } 7 8 private void button1_Click(object sender, EventArgs e) 9 { 10 main(); //←ここにエラーが出る 11 } 12

追記

至らぬ点が多く申し訳ございません。
Visual Studio 2022でWindows アプリケーションをターゲットフレームワーク.NET 6.0にて作成しております。

また本来行いたかった処理としては「ボタンクリックで静的メソッドの処理を行うこと」です。

調べたところ「メソッド内にメソッドの記述は出来ないため、mainを直接記述せずに呼出すしかない」とのことでしたので、mainを呼び出そうと試み、今回このような形に至りました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2022/09/29 02:08

関数の引数について学習しましょう。
退会済みユーザー

退会済みユーザー

2022/09/29 02:08

何を何で作っているかぐらいは書けませんか? (例: Visual Studio 2022 で Windows Forms アプリをターゲットフレームワーク .NET Framework 4.8 で作っています)
退会済みユーザー

退会済みユーザー

2022/09/29 02:18 編集

そもそも何がしたいのですか? XY 問題のような気がしますけど。 XY 問題とは、X という課題があって、Y という解決策を考えついて Y について質問したが(X は書かないで)、Y は X の解決策とはなっておらず、回答者と質問者間で話がかみ合わず、一向に解決にならないということです。 X も書いてください。
itachocoice

2022/09/29 02:16

YAmaGNZ様> 何もわからぬまま見様見真似で作っていたので、明確に何を学習すればよいかのご指摘に感謝いたします。精進いたします。 SurferOnWss様> 記載が漏れてしまい申し訳ございません。 Visual Studio 2022でWindows アプリケーションをターゲットフレームワーク.NET 6.0にて作成しております。
退会済みユーザー

退会済みユーザー

2022/09/29 02:20

> Visual Studio 2022でWindows アプリケーションをターゲットフレームワーク.NET 6.0にて作成しております。 質問欄を編集して追加情報として追記願います。ここコメント欄は「質問への追記・修正の依頼」を行う場ですので。
itachocoice

2022/09/29 02:25

勉強になりますありがとうございます。
退会済みユーザー

退会済みユーザー

2022/09/29 02:33

> また本来行いたかった処理としては「ボタンクリックで静的メソッドの処理を行うこと」です。 どういう処理を行いたいのですか? 例でいいので具体的に書いてください。 > 調べたところ「メソッド内にメソッドの記述は出来ないため、mainを直接記述せずに呼出すしかない」とのことでした どこにそういうことが書いてあったのでしょう? ローカル関数というのがありますが、それでは目的は果たせないのでしょうか?
Zuishin

2022/09/29 03:37

> 調べたところ「メソッド内にメソッドの記述は出来ないため、mainを直接記述せずに呼出すしかない」とのことでしたので 誰がそんなことを言ったのでしょう? メソッド内にメソッドは作れるし、仮に作れなかったとしても main ではなく別の関数を作るべきです。
guest

回答2

0

main(new string[]{});

投稿2022/09/29 01:59

編集2022/09/29 04:36
ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/09/29 02:17

なぜそれが答えになっているのですか?
ozwk

2022/09/29 04:40

引数がなくて呼べていないので 引数があれば呼べますよ という趣旨です。 妙なことやっているなとは思ってますが、とりあえずは質問に書いてあることについて答えています。
退会済みユーザー

退会済みユーザー

2022/09/29 04:55

> 妙なことやっているなとは思ってますが 妙なことに妙な回答をしているのですよ。
guest

0

自己解決

困惑させてしまい申し訳ございませんでした。また、そんな中でも丁寧にアドバイス等いただきありがとうございます。

ローカル関数にて処理が可能でした…。
きちんと1から勉強して出直します。ありがとうございました。

投稿2022/09/29 05:23

itachocoice

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問