指向性メモ::2007-03-31::A#とVisualStudio2005による.NETプログラミング・コンパイラクラッシュ回避編

ページ情報
制作日
2007-03-31T08:35:00+09:00
最終更新日
2007-03-31T08:35:00+09:00
ページ内目次

コンパイラがクラッシュするのはどうもwithが原因のようだ。そういえば前にAda05で遊んでいたときも、limited withなんかで複雑な参照を行うとコンパイラがクラッシュすることがあった。

回避策としては、ソース内に現れる型を含むパッケージをwithするのが良いようだ。たとえば、

with Mssyst.Drawing.Brushes;
...
Foo.new_Foo(brush => Mssyst.Drawing.Brushes.get_Black);

のようなコードを書くときは、get_Blackで渡される型を含むパッケージであるMssyst.Drawing.Brushも一緒にwithしておくとよい。

with Mssyst.Drawing.Brush;

似たような状況は恐らくいくつかの場面で見られると思う。コンパイラが落ちたらとりあえず必要そうな型をwithしてみると良いだろう。

Comments

Trackbacks

Trackback Ping URI

http://yudai.arielworks.com/memo/2007/03/31/083500.trackback

末尾に「0 + 0」の計算結果を繋げて下さい。例えば計算結果が「17」の場合、「083500.trackback17」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

Name (optional)
Email address or URI (optional)
Do the math below (required to filter comment spams)
0 + 0 + 9 =
Message (required)
Submit
連絡先、リンク、転載や複製などについては『サイト案内』をご覧ください。Powered by HIMMEL

I ♥ Validator