Artinsoft の VB6 to .NET ウィザードを使用して VB6 アプリケーションを C# に変換しましたが、Err.Number が以前に使用されていた場所でアップグレードの警告が表示されます。
//UPGRADE_WARNING: (2081) Err.Number には新しい動作があります。
変換されたコードは参照しています。
Microsoft.VisualBasic.Information.Err().Number
違いが何であるかを見つけるのは運がありませんでした。誰かがそれが何であるかを知っていますか、またはこの警告を無視しても安全ですか?
アップデート
将来、この質問に出くわす人のために - 警告の言葉。C# .NET アプリケーションで Err.Number を使い続けるのは安全ではありません。プロパティは引き続き使用できますが、エラーが発生した後、期待どおりに値が入力されません。期待どおりに値が設定される唯一のケースは、エラーが COM コンポーネントから発生した場合です。
通常のエラー (DB アクセス、IO 操作など) は Err().Number に値を与えないため、残念ながらその使用はリファクタリングする必要があります。
奇妙なことに、VB .NET ではまだ期待どおりに動作するため、変換先の言語を決定する際には、これを念頭に置いておく必要があります。