• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#で共有変数の定義をするには)

C#で共有変数の定義をするには

redfox63の回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

C#の起動クラス(標準なら Programクラス)にそのパラメータを記憶しておく変数やアクセスするためのメソッド準備してやればいいでしょう たとえば static Public string strArg = null; などと変数を準備して Mainメソッドを static void Main( string[] args ) {   if ( args.Length > 0 )   {     strArg = args[0];   }   Application.Run( new Form1()); } といった具合にします アクセス方法は Program.strArg といった具合に『クラス名.変数名』といった具合に静的オブジェクトのアクセス方法に従います 変数の格納自体をprivate等にするなら Getterメソッドを実装しましょう

tatsu99
質問者

補足

回答ありがとうございます。 static Public string strArg = null; の文は、ソース中のどこに記述すれば良いでしょうか。 以下が、プロジェクト testでアプリケーションを作成したときの program.csの内容です。 ここのどの場所にいれても、エラーが発生してしまいます。 using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace test1 { static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main(string[] args) { if (args.Length > 0) { strArg = args[0]; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }

関連するQ&A

  • Visual C++ の関数定義の参照方法

    Visual Studio 2008を利用しているのですが、 Visual C++のプログラムの中で、関数の上にマウスポインターを置いた状態で、MSDNライブラリを 参照する方法がわかりません。 Shift+F○○キーではなかったでしょうか。 ご回答よろしくお願いします。

  • >NETの起動方法

    Visual Studio 2008 ExpressのC#を使ってプログラムを作成した。 テスト、デバッグは済んだ。 このプログラムをVisual Studioを離れて(VSの管理下でない状態で)起動したい。 どうすればいいのでしょうか。 1.普通のEXEプログラムはイクスプローラでダブルクリックすれば動く。 2.JAVAのプログラムは仮想マシンを起動して、仮想マシンのパラメタとしてプログラム名を渡す。   JAVA プログラム名 3.C#の場合、どうすれば動くのか。.NETを起動して、そのパラメタとしてプログラム名を渡すんだと思いますが、.NETの起動方法がわかりません。 わかっている方がおりましたら、教えて下さい。

  • RS-232C接続のための VS 2008 C++のプログラム

    RS-232C接続のための VS 2008 C++のプログラム パソコンとRS-232Cで接続することで制御できるパトライト(PHE-3FB)を渡され、今週中に動かしたいのですが、私はプログラミング経験が非常に浅くどうしても、動かすことができません。加えて、実装の環境が「Visual Studio 2008 C++」のみに限られており、大変困っています。 こんな、初心者の私でもRS-232Cの通信プログラムが書けるようなサイトはないでしょうか。 Windows Visual studio 2008 C++ で書かれたサンプルプログラムのようなものがあれば非常に助かります。。。 どなたか、助けてください・・ 追記 MSCOMMコントロールはWindows Visualstudeo 2008 C++にはないのでしょうか・・

  • C#でGUI・CUIの判断する仕方を教えて下さい

    アプリケーションを開発しています 開発環境 Microsoft Visual Studio 2005 net framework 2.0 C# GUI(Windows アプリケーション)とCUI(コンソールアプリケーション)の アプリケーション開発しています 単体のアプリケーションは動作しています 2つのアプリケーションを1つの(EXE)で実行できるアプリケーションを 開発したいです 起動仕方は EXE にパラメータを付けたらCUIで起動して パラメータなしならばGUIで起動したいです プログラムで起動の仕方を判断できるのですか? できるなら参考資料(サンプルコート・ホームページなど)を教えて下さい 宜しくお願いします。

  • Visual Studio C++のデータ入力

    C言語を一から勉強しています。 Visual Studio C++を使ってプログラムを入力していて、デバッグの際にscanfでテストデータを入れたいのですが、入力の方法が分かりません。 どうやったらよいのでしょうか。 Visual Studio 2019で、C++のコンソールアプリケーションというものを使っています。

  • ファイルの排他制御について

    こんにちは。 Visual Studio 2005 のC#を使って、ファイルを加工するアプリを書いていますが、 ファイルの排他制御についてよく分らなくて困っています。 プログラムの構成としては、以下の通りです。 1:プログラムAがファイルXYZを作成します。 2:プログラムAとは別々に動く、プログラムBが、このファイルXYZを読み込んで データベースに書込む処理をします。 この処理で、もしもプログラムAがファイルXYZの作成中の時に、 プログラムBが同じタイミングでファイルXYZを開いてしまった場合、 ファイルが中途半端な状態で開いてしまうのではないかと思ってます。 こういう状態を回避するためにはどういう処理にすればよいのでしょうか? よろしくお願いいたします。

  • スタートの全てのプログラムでVBとc++が少し違う

    ・Microsoft Visual Basic 2008 Express Edition ・Microsoft Visual C++ 2008 Express Edition の2つをインストールしました。 しかしスタートの全てのプログラムを見ると C++ の方はフォルダにはいっていて、 VBの方はそのまま(裸のまま)プログラム一覧に表示されています。 Visual C++ の方はフォルダの中身は ・Microsoft Visual C++ 2008 Express Editionのアプリケーションと ・Visual Studio Toolsフォルダです。 Visual Studio Toolsの中には Visual Studio 2008 コマンド プロンプト が入っています。 これは標準の配置ですか? もしかしたら私が知らぬ間にいじったのか気になります。 OSはvistaです。 よろしくお願いします。

  • MacOSでのC#開発環境について

    これからC#の勉強を始めようと思っています。 windowsのVisual studio 2017のコンソールアプリケーションプログラムでformのようなGUI機能を使用出来るものがあると思うのですが、macOSでも可能なのでしょうか…

  • Vector定義の配列の共有メモリ化

    Vectorの1次元配列(以下配列Vとします)を共有メモリとして、複数のアプリケーションで利用する方法がわかりません。開発ツールはVC++6.0 SP6です。 配列Vの値を参照時、書込時にはポインタ渡し(memcpy)をしたいです。コンパイルは通るのですが、アプリケーションを実行時にmemcpyを実行時に落ちます。 以下のことを確認しています。 (1)resizeでサイズは同じにしています。 (2)変数自体はNULLではありませんでした(デバッカで確認すると、アドレスがありました。) (3)変数の定義時にVectorにせず、サイズ決めた配列にするとポインタ渡しはできています。パラメータファイルを参照し、配列のサイズを決めたいので、ソース上に記入するのはできません。 よろしくお願いします。

  • アプリケーションエラー

    私はvisual studio2005でアプリケーションプログラムを作成したりしているのですが、開発したプログラムを起動したとき、時々【"0x7c97a754"の命令が"0x00000000"のメモリを参照しました。メモリが"read"になることはできませんでした。プログラムを終了するには[OK]のボタンをクリックください】というウィンドウが表示され、プログラムが止まってしまいます。[OK]ボタンを押せば、プログラムが起動しだすのですが、毎日定時にタスク起動するプログラムですので、このようなエラーはどうしても避けたいところであります。これの対処法はありますでしょうか?