Ho utilizzato la procedura guidata VB6 to .NET di Artinsoft per convertire un'applicazione VB6 in C# e ricevo un avviso di aggiornamento in qualsiasi posizione in cui in precedenza era stato utilizzato Err.Number;Err.Number (VB6 versus C#)
// UPGRADE_WARNING: (2081) Err.Number ha un nuovo comportamento.
Il codice convertito fa riferimento a;
Microsoft.VisualBasic.Information.Err().Number
Non ho avuto alcuna fortuna a scoprire qual è la differenza. Qualcuno sa cosa potrebbe essere, o è sicuro ignorare questo avviso?
UPDATE
Per chi si imbatte in questa domanda in futuro - una parola di avvertimento; NON è sicuro continuare a utilizzare Err.Number in un'applicazione C# .NET. La proprietà è ancora disponibile, tuttavia non è popolata dopo errori come previsto. L'unico caso in cui è popolato come previsto è se l'errore proviene da un componente COM.
Errori normali, ad es. L'accesso al DB, le operazioni di I/O ecc. Non daranno alcun valore a Err(). Numero, e quindi il suo uso deve essere rifattorizzato sfortunatamente.
Stranamente, in VB .NET, funziona ancora come previsto, quindi forse questo è qualcosa da tenere a mente quando si prende una decisione sulla lingua di destinazione per la conversione.
OT: sei soddisfatto del lavoro svolto da VBUC? – kjack
@kjack: Sta sicuramente risparmiando un sacco di lavoro durante il processo di conversione, ma ci sono un certo numero di "stranezze" nelle sue conversioni di pattern a cui ci si deve abituare. Nel complesso però, direi che probabilmente vale la pena utilizzarlo, ma non aspettatevi miracoli da esso. –
Grazie per questo, è raro vedere recensioni di questi prodotti per qualche motivo. – kjack