- PR -

VisualStudio.NET2003のイミディエイトウィンドウで列挙型が使えない?

投稿者投稿内容
モニンチ
会議室デビュー日: 2003/12/23
投稿数: 13
投稿日時: 2004-10-09 22:04
モニンチと申します。
VisualStudio.NET2003のイミディエイトウィンドウに悩まされています。
列挙型を使用すると、エラーが出てしまいます。
例えば、次の2つのコードをイミディエイトウィンドウで実行すると、前者はエラーとなり、
後者は正常に処理されます。

コード:
MessageBox.Show("", "", MessageBoxButtons.OK)
エラー : 引数が関数 'MessageBox.Show' のパラメータと一致しません

MessageBox.Show("", "")
OK



一体何故なのかまったくわかりません。
デバッグがうまくできず、困り果てました。
どなたか解決策をご存知の方がいらっしゃいましたら、教えてください。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-09 22:55
モニンチさん、こんばんは。

こちらでは、そのようなエラーは出ないんですが…。
必要なライブラリが参照されていないとか名前空間がインポートされていないとかそういった問題ではないでしょうか。

コード:
System.Windows.Forms.MessageBox.Show("", "", _
        System.Windows.Forms.MessageBoxButtons.Ok)


ではどうでしょう?
モニンチ
会議室デビュー日: 2003/12/23
投稿数: 13
投稿日時: 2004-10-10 00:00
きくちゃんさん、ご返答ありがとうございます。
残念ながら、上手くいきませんでした。

コード:
System.Windows.Forms.MessageBox.Show("", "", System.Windows.Forms.MessageBoxButtons.OK)
エラー : 引数が関数 'System.Windows.Forms.MessageBox.Show' のパラメータと一致しません



System.Windows.Formsのアセンブリ(ランタイムバージョン v1.1.4322)が参照されているので、参照設定も問題ないようです。
きくちゃんさんの環境では、ちゃんとメッセージボックスが表示されますか?

ちなみに私の環境は、
WinXp Pro Sp1, VS.NET2003 ver7.1.3091, .NET Framework1.1.4322 SP1
です。
nanbu
大ベテラン
会議室デビュー日: 2004/08/19
投稿数: 178
投稿日時: 2004-10-10 00:53
引用:

モニンチさんの書き込み (2004-10-09 22:04) より:
コード:

MessageBox.Show("", "", MessageBoxButtons.OK)
エラー : 引数が関数 'MessageBox.Show' のパラメータと一致しません

MessageBox.Show("", "")
OK





なんか、列挙型はダメっぽい?

MessageBoxButtons.OK.ToString()
エラー : 識別子 'MessageBoxButtons' はスコープ外です
Day.Friday.GetType()
エラー : 識別子 'Day' はスコープ外です

こんな感じです。
DayってSystemだから環境ではないと思いますが、、、

因みに環境は、
Windows Server 2003
.NET Framework 1.1 SP1

そうそう、ところで、モニンチさんはどうしてMessageBoxを表示したいのですか?

[ メッセージ編集済み 編集者: nanbu 編集日時 2004-10-10 01:01 ]
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-10 10:40
モニンチさん、こんにちは。

引用:

System.Windows.Formsのアセンブリ(ランタイムバージョン v1.1.4322)が参照されているので、参照設定も問題ないようです。
きくちゃんさんの環境では、ちゃんとメッセージボックスが表示されますか?


全然問題なく表示されます…。
(WinXp Pro Sp2, VS.NET2003 ver7.1.3091, .NET Framework1.1.4322 SP1)

プロジェクトは、フォームが1つのvb.net Windowsアプリケーションです。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-10 10:57
nanbuさん、こんにちは。

引用:

Day.Friday.GetType()
エラー : 識別子 'Day' はスコープ外です



私のところでは別のエラーが出ます。

?Day.Friday.GetType()
'Public Function Day(DateValue As Date) As Integer' のパラメータ 'DateValue' に対して引数が指定されていません。

Microsoft.VisualBasic.DateAndTime.Day(ByVal DateValue As Date) メソッドとして認識されてしまったようです。

で、
?System.Windows.Forms.Day.Friday.GetType()
とすればOKでした。
nanbu
大ベテラン
会議室デビュー日: 2004/08/19
投稿数: 178
投稿日時: 2004-10-10 17:58
きくちゃんへ。
VBプロジェクトでやってみたら、

?System.DayOfWeek.Friday.ToString()
"Friday"
と正常に実行されました。

また、
MessageBox.Show("","",MessageBoxButtons.OK)
も問題なく、実行されました。

つまり、C#プロジェクトでは、ダメみたいです。

#たしかに、はじめて使ったんですが、
#なんか、ショックです。


モニンチ
会議室デビュー日: 2003/12/23
投稿数: 13
投稿日時: 2004-10-11 11:51
きくちゃんさん、nanbuさん、ありがとうございます。

引用:

nanbuさんの書き込み (2004-10-10 00:53) より:
そうそう、ところで、モニンチさんはどうしてMessageBoxを表示したいのですか?


本当はSystem.Data.DataRowVersionを指定して、DataTableの中身を見たかったのですが、MessageBoxを例にした方が分かりやすいかと思い、。

引用:

nanbuさんの書き込み (2004-10-10 17:58) より:
つまり、C#プロジェクトでは、ダメみたいです。


C#では駄目ですか。
きくちゃんさんはVB.NETでしたか。
確かにVB.NETでは上手くいきました。
私はC#でした。残念です。

列挙型だけでなく、インデクサを使用すると同じようなことが起きる場合があったと思います。(例を示したかったのですが、再現できませんでした。)
これも、C#だからなんですかね。

とりあえず、「C#だから」とあきらめることにします。
ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)