コンテンツへスキップ
ものがたり
戻る

Cast from IntPtr to Enum

.NET 2.0のcscでは、IntPtrからEnumに変換できてしまうというバグがあるらしい。

https://bugzilla.novell.com/show_bug.cgi?id=342584

.NET 1.1ではエラーになる。それを確認してみてコメントしたのだけど、その後MarekとMiguelが調べた感じでは、どうもcscはintへのop_Explicitをあえて出力するようだ(enumのunderlying typeがintではなくlongの場合の場合、何が起こるだろうか)。昔IntPtr型の変数にnullが代入できてしまうバグをMicrosoftに報告したことがあるけど(Marekがさっき見つけたところではまだアクティブだったらしい。僕はもはやどう対応されたのかも覚えていない)、このバグも多分修正できないのだろうな。(もちろんバグでない可能性もゼロとは言わないけど。)


この記事を共有:

前の記事
difference between .NET 2.0 and 2.0 SP1
次の記事
2007-11-20