Tôi đã sử dụng thuật sĩ VB6 để .NET của Artinsoft để chuyển đổi ứng dụng VB6 thành C# và tôi nhận được cảnh báo nâng cấp ở bất kỳ nơi nào mà Err.Number đã được sử dụng trước đó;Err.Number (VB6 so với C#)
// UPGRADE_WARNING: (2081) Err.Number có một hành vi mới.
Mã được chuyển đổi đang đề cập đến;
Microsoft.VisualBasic.Information.Err().Number
Tôi chưa tìm thấy điểm khác biệt nào. Có ai biết nó có thể là gì không, hoặc có an toàn để bỏ qua cảnh báo này không?
CẬP NHẬT
Đối với bất cứ ai tình cờ qua câu hỏi này trong tương lai - một lời cảnh báo; KHÔNG an toàn để tiếp tục sử dụng Err.Number trong một ứng dụng C# .NET. Tài sản vẫn có sẵn, tuy nhiên nó không được điền sau các lỗi như mong đợi. Trường hợp duy nhất mà nó được cư trú như mong đợi là nếu lỗi đến từ một thành phần COM.
Lỗi thông thường, ví dụ: DB truy cập, hoạt động IO, vv sẽ không cung cấp cho bất kỳ giá trị để Err() Số, và do đó, việc sử dụng nó phải được tái cấu trúc không may.
Kỳ lạ, trong VB .NET, nó vẫn hoạt động như mong đợi, vì vậy có lẽ đây là điều cần lưu ý khi đưa ra quyết định về ngôn ngữ đích để chuyển đổi.
Cựu ước: bạn có hài lòng với công việc mà VBUC đang làm không? – kjack
@kjack: Nó chắc chắn là tiết kiệm rất nhiều công việc khó khăn trong quá trình chuyển đổi, nhưng có một số "quirks" trong chuyển đổi mô hình của nó mà có một số nhận được sử dụng để. Mặc dù vậy, về tổng thể, tôi có thể nói nó có thể đáng để sử dụng, nhưng đừng mong đợi bất kỳ phép lạ nào từ nó. –
Cảm ơn vì điều đó, hiếm khi thấy các đánh giá về những sản phẩm này vì một số lý do. – kjack