2011-08-16 29 views
11

Tôi thậm chí không biết nếu nó được gọi là bí danh, nhưng hãy để tôi tiếp tục.C#: Cách tạo "bí danh" cho các lớp

Bạn biết cách loại System.String trong C# được sắp xếp "bí danh" bằng "chuỗi"? Trong Visual Studio, "chuỗi" là chữ thường và màu xanh. Tôi muốn làm điều này với một số tên lớp dài của chúng tôi. Một số giống như "RelocatedPlantProductReleaseItem". Tôi không thể thay đổi tên của nó, nhưng một cái tên dài như vậy thực sự làm cho đoạn mã này dài dòng. Tôi muốn có thể sử dụng "Rppr" thay thế. Vì vậy, thay vì điều này:

RelocatedPlantProductReleaseItem Item = new RelocatedPlantProductReleaseItem();

Tôi muốn đi như:

Rppr Item = new Rppr();

Tôi biết rằng tôi có thể tạo ra một lớp gọi là Rppr và có nó kế thừa từ RelocatedPlantProductReleaseItem, nhưng điều đó dường hacky .

Ngoài ra, kịch bản tôi đưa ra ở trên là hoàn toàn hư cấu. Tôi chỉ sử dụng nó để chứng minh chức năng thiết yếu mà tôi đang cố gắng đạt được.

Ngoài ra, kỹ thuật được gọi là gì khi "chuỗi" đại diện cho System.String?

Cập nhật: Cảm ơn tất cả các câu trả lời, các bạn, nhưng tôi đoán tôi nên xác định rằng tôi muốn đây là một điều toàn cầu. Tôi không muốn phải chỉ định nó ở đầu mỗi tập tin mã. Tôi muốn xác định nó ở một nơi và nó làm việc ở khắp mọi nơi trong toàn bộ ứng dụng, ngay cả trong các hội đồng khác tham chiếu đến hội đồng của nó.

+0

xem http://stackoverflow.com/questions/244246/c-alias-a-class-name – Matthieu

+0

Tôi đã cập nhật bài đăng của mình cho mọi người – oscilatingcretin

Trả lời

30

Sử dụng sử dụng chỉ thị

using Rppr = Namespace.To.RelocatedPlantProductReleaseItem; 

EDIT Op làm rõ yêu cầu một giải pháp toàn cầu.

Không có typedef kiểu tương đương trong C# có thể tạo thay thế toàn cầu tên loại. Bạn sẽ cần phải sử dụng một chỉ thị sử dụng trong mỗi tập tin bạn muốn có chữ viết tắt này hoặc đi cho phiên bản dài của tên.

+0

@Marc đánh bắt tốt, cập nhật – JaredPar

+0

Xin lỗi là một cầu kỳ *% #%^*, nhưng đó là bản chất của tôi :) –

+1

@Marc, tôi muốn được sửa chữa và cuối cùng chính xác hơn sai và không biết gì :). – JaredPar

4

Hãy thử

using Rppr = SomeNamespace.RelocatedPlantProductReleaseItem; 

Reference

6

string là một tiện nghi được cung cấp bởi ngôn ngữ C# để tham khảo các CLR loại thực System.String.

Bạn có thể đạt được kết quả tương tự với chỉ thị using. Ở phía trên cùng của tập tin mà bạn muốn các tên viết tắt, thêm dòng này:

using ShortName = Namespace.ReallyLongClassNameGoesHereOhGodWhy; 

Sau đó, bạn có thể nói ShortName myVar = new ShortName();

Lưu ý rằng bạn phải làm điều này trên một cơ sở cho mỗi tập tin. Bạn không thể nhận được mức độ phù hợp giống như string với một tuyên bố đơn lẻ.

2

Bạn có thể làm điều này:

using Rppr = RelocatedPlantProductReleaseItem; 
0

cố gắng để thêm những điều sau với usings khác của bạn

using Rppr = YourItemsNamespace.RelocatedPlantProductReleaseItem; 
1

Bạn tạo một bí danh sử dụng:

using alias = LongClassName; 

Đó bí danh có thể nhìn thấy trong không gian tên nơi bạn khai báo nó.

1

Bạn có thể thêm một chỉ thị using ở phía trên cùng của tập tin của bạn:

using Rppr = MyProjectNs.RelocatedPlantProductReleaseItem; 

Nhưng nó (chỉ) hoạt động cho mỗi tập tin, không phải cho một dự án.

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