- - PR -
VB.NET デバッグ実行せずに関数を実行して戻り値を知る方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-01-30 11:53
現状
デバックポイントを設定して、デバック実行後、イミデエイトウィンドなどで 関数を実行して戻り値を取得している。 質問 初心者の質問なのですが、コーディング中に 「この関数を使えば、どのような値が取得できるか」っていうことがよくあるのです が上記のデバッグ実行せずに関数の戻り値を取得する方法ってあるんですしょうか? それがデバッグだといわれるとそうなのですが、すぐ関数の戻り値をしることができ ればと思い投稿しました。 | ||||
|
投稿日時: 2004-01-30 13:36
関数(メソッド)の戻り値は引数だけで一意に決まるわけではなく、そのオブジェクトや関連するオブジェクトの状態に左右されるので、コーディング中は無理です。
| ||||
|
投稿日時: 2004-01-30 17:08
一郎さんの仰るとおり、通常のメソッドはインスタンスの状態によって結果が変わるので、実行時でないと結果を得るのは無理です。
しかし、共有メソッドであればいつ呼び出しても結果を得ることできます。 私も共有メソッドをよく使うので、デバッグ実行しなくても気軽に結果が確認できたら良いなと思ってます。 いずれにしても、VisualStudioにはこんな機能はないようですが。 | ||||
|
投稿日時: 2004-01-30 17:27
うーん、共有メソッドでも、共有メンバを参照している場合は…と結局同じ話になりそうな。 ※他にも、その中で何らかのインスタンスを作成していた場合、 そのインスタンスの共有メンバはどうなるの?とか 構成ファイルに依存するようなクラスを使っていたらどうなるの?とか 制限つきであれば出来なくはないと思いますが、まあ、VS.NETでは出来ないって事ですね。確かに出来たらいいなと思うことは良くあります。 | ||||
|
投稿日時: 2004-01-30 19:32
どうやらできないようですね。
みなさんご指摘ありがとうございました。 | ||||
|
投稿日時: 2004-01-30 20:56
イミディウエイトウインドウで、
? Test() ←Text()は自分で作った関数 123 ? InitializeComponent() 関数 'InitializeComponent' が評価され void を返しました みたいなのは言ってることが違いますか?(↑C#での実行例ですが) 「? メソッド()」を入力すると式が評価されません? | ||||
|
投稿日時: 2004-01-30 20:58
今日は、期待ですが
デバックを開始しないで実現させるという事はビルドをしないで実行の可能性もあります。 現在、VB.NETやC#.NETではデバッグの「コードの変更を摘要」が使えません(VC++.NETでは可能) これは、ブレークポイトで停止後ソースコードを変更し、そのまま継続が出来る機能ですが、 次期バージョンでは実現出来るのではとの話が出ていますが、これが可能になれば本テーマも可能になるのでと思っています(必要な箇所のみ自動的にリビルドしてくれる?)。 | ||||
|
投稿日時: 2004-01-31 00:25
すいません。確認させてください。 共有メソッドであれば、「呼び出して結果を得ること」は可能ですよね? (たとえばその結果がExceptionだったとしても) 自分の知識の確認に過ぎないので、お手隙の際にでもご回答いただければと思います。 # 自分で調べろと言われてしまいそうな。。。 |