- - PR -
const指定の定数を引数に渡すとnullになる
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-10-23 14:12
例えば以下のようのコードがあったとします。
pubilc ConstantClass { const string TEST_STR = "test"; } string型の引数を受け取るメソッドTestFuncがあったとして 以下のように記述しました。 TestFunc( Constant.TEST_STR ); すると何故かConstant.TEST_STRにnullが入っていることが あります・・ デバッグで追ってみるとやはり値がnullになっていました。 ただこれはnullが設定されている時と、"Test"が正常に設定 されている時があり、どうやって再現するのかも分からない状況 です。 回避策として string str = Constant.TEST_STR; TestFunc( str ); とローカル変数に渡してからだと正常に文字列が設定されているので 現状はこれで回避してますが、どうも釈然としません。 これは何が原因なのでしょうか?仕様でしょうか? 宜しくお願いいたします。 Win2003Server + VS.NET2003でASP.NETアプリを開発しております。 | ||||
|
投稿日時: 2003-10-23 15:55
ども、ほむらです。
staticなっていませんけど良いのでしょうか? # C++のとき無茶なポインタの使い方したときにも # 似たような現象はありましたが。。。(ポインタの参照方法のまちがい) | ||||
|
投稿日時: 2003-10-23 16:15
const は自動的に static になります。 というか、static を付けたらエラーになると思います。 うーん、普通では考えられない気がしますが、なんなんでしょう? | ||||
|
投稿日時: 2003-10-23 16:25
レスありがとうございます。
私もC++からC#へ来てるので、何も考えずに引数に直接const型の値を 渡しておりましたが、こういう症状に出くわしました・・ こちらのBBS又は他のサイトやMLでこれらの話を見たことがないので 環境依存なのでしょうか・・ | ||||
|
投稿日時: 2004-03-01 15:15
遅いレスですが、私の環境でもconstで指定した値がnullになる現象がおきます。
特に同じソリューション内の違うプロジェクトの値を参照した場合に現れます。 かと言って、必ずしもnullになるわけではなく再起動をかけたりすると直る場合があります。 どういった現象なのでしょうか。 環境:Windows2000Pro + VS.NET 2003 | ||||
|
投稿日時: 2005-02-28 15:43
私も同じ現象で困っています。
環境は弟子さんと同じです。 再起動してもだめでした。 解決できた方はいるのでしょうか? |
1