He utilizado Artinsoft's VB6 para el asistente .NET para convertir una aplicación VB6 a C# y recibo una advertencia de actualización en cualquier lugar donde Err.Number haya sido utilizado anteriormente;Err.Number (VB6 contra C#)
// UPGRADE_WARNING: (2081) Err.Number tiene un nuevo comportamiento.
El código convertido se refiere a;
Microsoft.VisualBasic.Information.Err().Number
No he tenido suerte para descubrir cuál es la diferencia. ¿Alguien sabe lo que podría ser, o es seguro ignorar esta advertencia?
ACTUALIZACIÓN
Para cualquier persona que se topa con esta pregunta en el futuro - una palabra de advertencia; NO es seguro continuar usando Err.Number en una aplicación C# .NET. La propiedad todavía está disponible, sin embargo, no se rellena después de los errores como se esperaba. El único caso en el que se rellena como se espera es si el error proviene de un componente COM.
Errores normales, p. El acceso DB, las operaciones IO, etc. no darán ningún valor a Err(). Number, por lo que su uso debe ser refactorizado desafortunadamente.
Por extraño que parezca, en VB .NET, todavía funciona como se esperaba, por lo que tal vez esto es algo a tener en cuenta al tomar una decisión sobre el idioma de destino para la conversión.
OT: ¿está satisfecho con el trabajo que está haciendo la VBUC? – kjack
@kjack: Definitivamente ahorra mucho trabajo pesado durante el proceso de conversión, pero hay una serie de "peculiaridades" en sus conversiones de patrones que tardan en acostumbrarse. Sin embargo, en general, diría que probablemente valga la pena usarlo, pero no esperes ningún milagro. –
Gracias por eso, es raro ver reseñas de estos productos por alguna razón. – kjack