2013-03-03 18 views
7

Tôi thấy rằng đôi khi tôi có nhu cầu có nhiều không gian tên trong một dự án mà tôi đang làm việc - có bất kỳ vấn đề nào phát sinh từ việc có nhiều không gian tên trong cùng một dự án không?
Cách thay thế rõ ràng là có nhiều dự án (trên mỗi không gian tên) trong Giải pháp.Nhiều không gian tên trong một dự án duy nhất

+1

"Thay thế rõ ràng là có nhiều dự án trong Giải pháp". - đó thường là một phương pháp tốt hơn. –

+0

@MitchWheat Nó có vẻ là cách tiếp cận "có trật tự" hơn, nhưng tất cả nó thực sự là lộn xộn giải pháp của tôi. Một vấn đề lớn hơn là nó tạo ra nhiều tập tin trên biên dịch. – Acidic

+0

Nhưng đó là một vấn đề hoàn toàn khác với giải pháp khác. –

Trả lời

7

Có, không sao. Thường thì các không gian tên của tôi phù hợp với cấu trúc thư mục của dự án. Vì vậy, không gian tên cấp cao nhất có thể giống nhau cho toàn bộ dự án, nhưng sẽ có nhiều không gian tên phụ.

Mục đích của không gian tên là (1) tổ chức và (2) tránh va chạm tên, không nhất thiết theo thứ tự đó. Trong khi đó, việc phân chia mọi thứ thành nhiều dự án là nhiều hơn bởi vì bạn muốn nhiều tệp nhị phân hoặc bạn muốn chia sẻ mã giữa nhiều giải pháp. Đây là một số mối quan tâm trực giao.

+1

Ngoài ra, studio trực quan tạo không gian tên trong tệp .cs mới tự động bằng cấu trúc này. –

1

Có nhiều lớp cho một không gian tên duy nhất. Nhiều không gian tên trong một dự án là hoàn toàn tốt đẹp. Nó là mỹ phẩm.

1

Câu trả lời cho câu hỏi này, mà không tham gia vào các phương pháp hay nhất, là sẽ không có bất kỳ vấn đề kỹ thuật nào khi sử dụng nhiều không gian tên trong một dự án.

Tuy nhiên, studio trực quan chỉ hỗ trợ một không gian tên cơ sở, nằm trong thuộc tính dự án (thuộc tính nhấp chuột phải trong trình khám phá giải pháp trên chính dự án) và bất cứ khi nào bạn tạo tệp mới, nó sẽ được tạo với không gian tên mặc định này (nếu trên root), hoặc không gian tên mặc định cộng với bất kỳ cấu trúc thư mục nào bạn có.

Không phải là vấn đề, nhưng bạn sẽ cần kiểm tra thủ công từng tệp C# mới mà bạn thêm vào dự án và thay đổi không gian tên cho phù hợp nếu tệp cụ thể đó sẽ không sử dụng không gian tên mặc định cho dự án.