2010-01-25 24 views
10

Tôi có một bảng cơ sở dữ liệu nơi tôi lưu trữ chiều cao, chiều rộng, trạng thái, vân vân, cửa sổ. Là định danh cho các cửa sổ, tôi sử dụng tên đầy đủ của biểu mẫu. Nó hoạt động tốt, nhưng tôi phát hiện ra rằng một số hình thức chung chung được đặt tên rất dài. Lý do là loại chung được liệt kê với thông tin lắp ráp đầy đủ. Có cách nào để bỏ qua điều đó không?Tên đầy đủ của loại chung mà không có thông tin lắp ráp?

Ví dụ tên đầy đủ của một hình thức thường xuyên sẽ trông như thế này:

Some.Name.Space.NameOfForm 

Nhưng tên đầy đủ của một hình thức chung trông như thế này:

Some.Name.Space.NameOfForm`1[[Some.Other.Name.Space.GenericType, AssemblyName, Version=1.0.2.0, Cuntulre=neutral, PublicKeyToken=null]] 

Tại sao nó có được quá lâu ? Có cách nào tôi có thể có phiên bản ngắn hơn không? Ví dụ:

Some.Name.Space.NameOfForm`1[[Some.Other.Name.Space.GenericType]] 

Mọi manh mối?

+0

Làm thế nào để bạn có được tên? .GetType() .Tên đầy đủ? –

+0

@Tor: Điều đó đúng, đúng vậy. – Svish

+0

@Svish [câu trả lời của b8adamson] (http://stackoverflow.com/a/4662878/521757) thực sự là đúng. – jnm2

Trả lời

11

tôi đồng ý với dbemerlin trong đó mục tiêu cuối cùng của bạn có vẻ kỳ quặc, nhưng tôi chỉ muốn chỉ ra rằng

GetType().ToString(); 

dường như trở lại một phiên bản ngắn hơn của typename (w/o các thông tin lắp ráp của các đối số generic).

Tôi đoán điều này có thể hữu ích cho phiên bản có thể đọc được nhiều hơn của tên loại.

+4

Đây phải là câu trả lời. Cảm ơn. – IllidanS4

2

Tôi đoán Loại được sử dụng cho lớp chung phụ thuộc vào một assembly cụ thể (như hầu hết các lớp .NET). Vì vậy, tôi không nghĩ bạn sẽ nhận được bất kỳ thứ gì khác mà không cần tạo chuỗi này theo cách thủ công.

OTOH tôi không nghĩ rằng sử dụng tên kiểu như phím là một ý tưởng tốt, có lẽ bạn nên nghĩ về việc một số chủ chốt khác (nhưng tôi không biết những yêu cầu, vì vậy tôi không thể khuyên bạn cái gì khác)

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