Tôi đã nhập 2 dll vào ứng dụng của tôi (bên thứ ba) Bây giờ cả hai đều có một không gian tên có cùng tên. Ví dụ: A.B và cả hai có một lớp học có cùng tên. Bây giờ tôi muốn tạo một thể hiện của một trong số chúng, nhưng vì không gian tên và tên lớp giống nhau, trình biên dịch sẽ không rõ ràng. Làm cách nào để chỉ định dll phù thủy được sử dụng tại địa điểm?lớp không rõ ràng với tên không gian tên trong 2 dlls
Trả lời
Giả sử rằng bạn có 2 cụm (ClassLibrary1.dll
và ClassLibrary2.dll
) rằng cả hai xác định cùng lớp trong không gian tên giống nhau:
namespace Foo
{
public class Bar
{
}
}
Bây giờ trong dự án tốn nhiều bạn có thể xác định một bí danh thêm trong tài liệu tham khảo của thư viện lớp:
Và bây giờ bạn có thể làm như sau để giúp trình biên dịch disambiguate:
extern alias lib1;
extern alias lib2;
class Program
{
static void Main()
{
var barFromLib1 = new lib1::Foo.Bar();
var barFromLib2 = new lib2::Foo.Bar();
}
}
Điều này tương tự như một vấn đề tôi gặp phải, trong trường hợp của tôi, đó là mã của riêng tôi (một lớp trợ giúp nhỏ) mà tôi cần sử dụng trong 2 tệp DLL khác nhau mà lần lượt được sử dụng bởi một EXE. Giải pháp của Darin hoạt động rất tốt! Cảm ơn. –
Chỉ cần một chút cải tiến hoặc thông tin nâng cao: Nếu bạn có nhiều cách sử dụng, "extern alias lib1;" - dòng phải là người đầu tiên sử dụng (Nhưng cũng MS VS thông báo cho bạn về điều đó).
câu trả lời của bạn không cung cấp câu trả lời cho câu hỏi.Vui lòng đọc kỹ câu hỏi –
- 1. Tham chiếu 2 dlls sử dụng cùng một không gian tên trong dự án vb.net 3.5?
- 2. Không gian tên có cùng tên với tên lớp
- 3. Bạn có thích không gian tên rõ ràng hoặc 'sử dụng' trong C++ không?
- 4. không phải là tên lớp hoặc không gian tên
- 5. Sử dụng các loại tên và không gian tên giống nhau trong 2 hội đồng .NET
- 6. Symfony 2: Thêm một không gian tên khác vào các không gian tên thực thể
- 7. Lớp riêng tư trong không gian tên
- 8. C++: lỗi "chuyên môn hóa rõ ràng trong phạm vi không gian tên"
- 9. Tên tệp rõ ràng có ảnh hưởng đến SEO không?
- 10. DataContractSerializer - thay đổi không gian tên và deserialize tập tin bị ràng buộc vào không gian tên cũ
- 11. Tên loại hoặc không gian tên 'Mvc' không tồn tại trong không gian tên 'System.Web'
- 12. Lỗi "Các phần tử được xác định trong không gian tên không thể được khai báo rõ ràng là"
- 13. Không gian tên và lớp học có cùng tên?
- 14. Có tương đương rõ ràng về 'không gian hiển thị' trong cqlsh 2 không?
- 15. Tên loại hoặc không gian tên 'ServiceBus' không tồn tại trong không gian tên 'Microsoft'
- 16. loại tên hoặc không gian tên không tồn tại trong không gian tên
- 17. Làm cách nào để có được tên phương thức với tên không gian và tên lớp?
- 18. Không gian tên 'quảng cáo' không bị ràng buộc
- 19. Lớp tĩnh hoặc không gian tên PHP
- 20. Perl yêu cầu tên gói rõ ràng
- 21. Loại bỏ không gian tên của tên loại trong C++
- 22. Một lớp học có cùng tên với không gian tên không?
- 23. Nhận không gian tên lớp PHP động
- 24. Đổi tên các không gian tên
- 25. xcode kiểu không rõ tên
- 26. Không gian tên và không gian tên phụ
- 27. Không gian tên PHP và Bao gồm() với các lớp
- 28. Tên loại hoặc không gian tên 'Caching' không tồn tại trong không gian tên 'System.Runtime'
- 29. Tên kiểu hoặc không gian tên UpdatePanel không tồn tại trong không gian tên System.Web.UI
- 30. Tên loại hoặc không gian tên 'DirectoryServices' không tồn tại trong không gian tên?
nếu các câu trả lời dưới đây không hoạt động thì bạn đã bị nghiêng :) – swapneel
May mắn là một trong số chúng hoạt động :-) –