Vì khung <>
là cú pháp C#. Việc triển khai System.Object.ToString()
trả về tên loại với cú pháp CLR.
Hãy xem xét điều này:
System.Collections.Generic.List<System.String>
Trông đẹp khi bạn đang phát triển trong C#, nhưng nói rằng bạn gọi ToString
từ C++/CLI. Bạn có hy vọng những điều sau sẽ thay thế?
System::Collections::Generic::List<System::String>
Rõ ràng, hành vi không được thay đổi dựa trên ngôn ngữ mà người gọi được biên dịch, vì vậy chuỗi trả về là trung lập về ngôn ngữ.
This MSDN page liệt kê các quy ước tên loại được CLR sử dụng. (Cảm ơn Matthew Watson cho liên kết).
Đối với arity (phần `1
), bạn có thể tìm thêm thông tin trong ECMA-335 (đặc điểm kỹ thuật CLI):
Loại I.10.7.2 tên và mã hóa arity
CLS các tên kiểu chung chung được mã hóa theo định dạng name[`arity]
, trong đó [...]
cho biết ký tự dấu lăng mộ `
và arity là tùy chọn. Tên mã hóa phải tuân thủ các quy tắc:
- tên sẽ là một ID (xem phân vùng II) mà không chứa ký tự
`
.
- arity được chỉ định dưới dạng số thập phân chưa dấu mà không có số 0 hoặc dấu cách đầu.
- Đối với loại chung thông thường, arity là số tham số loại được khai báo trên loại.
- Đối với loại chung chung lồng nhau, arity là số tham số loại mới được giới thiệu.
Nguồn
2016-10-13 11:11:28
Chỉ trong trường hợp yo muốn để có được tên với <> ngoặc http://stackoverflow.com/a/14284719/797249 – Artiom
Để người bình chọn để đóng này bởi vì nó là ý kiến dựa. Nó dựa trên ý kiến như thế nào? Câu trả lời được cung cấp là hoàn toàn khách quan. –