2008-09-14 26 views
19

Đây là vấn đề, bạn bao gồm nhiều hội đồng và thêm 'sử dụng không gian tênX' ở đầu tệp mã của bạn.
Bây giờ bạn muốn tạo một lớp hoặc sử dụng một biểu tượng được xác định trong nhiều không gian tên, ví dụ: System.Windows.Controls.Image & System.Drawing.ImageLàm thế nào để bạn giải quyết. Không gian tên Net xung đột với từ khoá 'sử dụng'?

Bây giờ, trừ khi bạn sử dụng tên đầy đủ, sẽ có lỗi/lỗi xây dựng do kiểm tra không rõ ràng của các khai báo 'sử dụng' ở trên cùng. Con đường ở đây là gì?

(Một bài nền tảng kiến ​​thức .. Tôi tìm thấy câu trả lời sau khoảng 10 phút tìm kiếm bởi vì tôi không biết từ khóa đúng để tìm kiếm)

+0

Khi chấp nhận câu trả lời đã nêu, sử dụng bí danh nhưng cố gắng được bao gồm trên toàn bộ cơ sở mã (chỉ một bí danh cho một không gian tên/lớp và chúng nên dễ phân biệt). – kokos

Trả lời

28

Sử dụng bí danh

using System.Windows.Controls; 
using Drawing = System.Drawing; 

... 

Image img = ... //System.Windows.Controls.Image 
Drawing.Image img2 = ... //System.Drawing.Image 

How to: Use the Namespace Alias Qualifier (C#)

+0

Xóa câu trả lời của tôi để giảm sự lộn xộn. 'Tính năng bí danh không gian tên' - bây giờ tên đó là thứ mà tôi chưa bao giờ tìm ra để sử dụng làm từ khóa tìm kiếm. :) – Gishu

+0

Đúng, đó là một ví dụ rất tốt về vi phạm Nguyên tắc một lần chịu trách nhiệm. Nhưng nó quá vui để thể hiện nó với các bạn đồng nghiệp và nghe "Wow !, FTW ?!" – aku

5

Trang này có ghi chú rất tốt về không gian tên và sử dụng bảng sao kê:

http://www.blackwasp.co.uk/Namespaces.aspx

Bạn muốn đọc phần về "Tạo Bí danh" mà sẽ cho phép bạn thực hiện một bí danh cho một hoặc cả hai không gian tên và tham khảo họ với điều đó như thế này:

using ControlImage = System.Windows.Controls.Image; 
using System.Drawing.Image; 

ControlImage.Image myImage = new ControlImage.Image(); 
myImage.Width = 200; 
Các vấn đề liên quan