Hãy xem xét chúng tôi có ứng dụng 3 cấp và có ba dự án có tên P1, P2, P3.Các phụ thuộc tham chiếu C# khác với VB?
phụ thuộc: P1 (dữ liệu) < < P2 (Business Logic) < < P3 (Presentation)
P2 đã có một lớp cơ sở X đã được thừa hưởng trong một lớp khác Y trong P2 . Vì vậy, chúng tôi thêm P1 từ P1 vào P2. Tuy nhiên, P3 sử dụng P2. Y và không sử dụng P1. X trực tiếp.
Để thực hiện việc này, chúng tôi phải thêm ref P2 vào P3. Nhưng có sự khác biệt giữa VB và C#.
Trong VB, chúng tôi chỉ thêm ref P2 vào P3. P2 sử dụng P1 nhưng nó không quan trọng đối với P3. Chúng tôi không cần phải thêm từ P1 đến P3. Điều này là đủ!
Nhưng, trong C#, chúng ta phải thêm ref P1 và P2 cả P3 ngay cả khi P3 không sử dụng P1.X. Nếu bạn không thêm ref A đến C, bạn sẽ gặp lỗi bên dưới:
Loại 'P1.X' được định nghĩa trong một hội đồng không được tham chiếu. Bạn phải thêm tham chiếu vào assembly 'P1, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null'.
Tại sao chúng ta phải thêm hai dự án trong C#?
Hoặc, thay vì điều này, chúng tôi có thể chặn hành vi này không?
Điều này giải thích sự khác biệt VB.NET/C#? –
@Kirk, không có nó ... –
Vâng, như bạn đã nói rằng chúng ta phải thêm P1 ref vào P3 trong C#. Nhưng chúng tôi không phải thêm nó vào VB. Đây là câu hỏi tôi hỏi ... –