2010-03-19 27 views
8

Sử dụng răng cưa nhập khẩu trong một tập tin/lớp, chúng ta có thể tham khảo không gian tên thư viện lớp bằng cách gán bí danh riêng của chúng tôi như thế này:Global Import/sử dụng Aliasing trong .NET

' VB 
Imports Db = Company.Lib.Data.Objects 

// C# 
using Db = Company.Lib.Data.Objects; 

Và sau đó chúng tôi có thể tham khảo các các lớp bên trong của Company.Lib.Data.Objects bằng cách sử dụng bí danh Db mà chúng tôi đã chỉ định.

Có thể thực hiện điều này ở cấp độ toàn cầu để bí danh được áp dụng cho toàn bộ giải pháp thay vì chỉ một tệp/lớp không?

Hiện tại, chúng tôi đang làm việc với các ứng dụng web, vì vậy tôi hy vọng chúng tôi có thể thêm thứ gì đó vào web.config, nhưng tôi cũng quan tâm đến việc có thể thực hiện được với các biểu mẫu cửa sổ, ứng dụng bảng điều khiển và/hoặc thư viện lớp hay không .

+1

Trong trường hợp bạn thắc mắc, thư viện lớp học có một số tên lớp không rõ ràng và điều này gây ra một số phiền toái cho chúng tôi. Vì vậy, về cơ bản, chúng tôi muốn chia thành ba phần bằng cách sử dụng Nhập bí danh. Và chúng tôi muốn làm điều đó ở cấp độ toàn cầu, trái ngược với việc thêm điều này vào mọi tệp. Nếu có cách nào tốt hơn, tôi là tất cả tai! –

Trả lời

17

Có đây là kịch bản được hỗ trợ trong các dự án VB.Net. Cách để làm điều này là sau

  • Kích chuột phải vào dự án trong Solution Explorer và chọn Properties
  • Đến tab Tài liệu tham khảo
  • Trong "Nhập khẩu Namespaces" loại trường "Db = Company.Lib .Data.Objects"
  • Hit 'Thêm người dùng nhập'

này sẽ thiết lập các bí danh cho tất cả các file trong dự án.

Tuy nhiên, điều này không hoạt động trong các dự án C#. C# là ngôn ngữ không có khái niệm về việc sử dụng/nhập toàn cầu. Thay vào đó, nó chỉ hỗ trợ chúng ở cấp độ tệp.

+0

+1 - trả lời kỹ lưỡng. –

+1

Tuyệt vời! Chúng tôi sử dụng VB.NET độc quyền (không cười!), Vì vậy đó là tốt. Nhưng, điều này có làm việc trong "Web Sites" hay chỉ "Projects"? –

+1

@Josh hầu hết công việc của tôi liên quan đến làm việc trên IDE VB.Net vì vậy không cười ở đây. Điều này sẽ chỉ hoạt động mặc dù trên các ứng dụng web. Tôi không tin rằng nó sẽ làm việc cho các trang web như họ không có khái niệm về một xây dựng toàn cầu. – JaredPar

2

Trong tập tin của bạn web.config cho trang web của bạn - hoặc file app.config khả năng nhất đối với một dự án (chưa xác nhận)

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 
     <namespaces> 
      <clear/> 
      <add namespace="System"/> 
      <add namespace="System.Collections"/> 
      <add namespace="System.Collections.Specialized"/> 
      <add namespace="System.Configuration"/> 

bất cứ điều gì mà bạn đặt trong phần này nên được một sự thay thế hợp lệ cho nhập khẩu trên đầu trang của mã của bạn đằng sau các trang. Làm việc kỳ diệu cho tôi, cho tôi biết nếu nó giúp bạn ra ngoài

+0

Nhưng tôi cần răng cưa ... câu hỏi đã được trả lời nhưng cảm ơn anyway –

+1

@JoshStodola Ngẫu nhiên, tôi đã làm một số thử nghiệm và kỹ thuật này có thể làm việc với bí danh - _vis-à-vis_: ''. –

+0

Tính năng này có hoạt động trong C# không? Tôi sẽ phải thử nó! –

Các vấn đề liên quan