Có một toán tử "nameof" trong C# 6 (https://msdn.microsoft.com/library/dn986596.aspx). D có tương tự không? Hoặc một số cấu trúc để mô phỏng nó?Toán tử tên kiểu # C trong D?
6
A
Trả lời
10
Tôi tin rằng stringof
hoạt động nhiều theo cùng một cách. Ví dụ: D tương tự với ví dụ C# đầu tiên tại liên kết đó là:
void f(string s) {
if (s == null) throw new Exception(s.stringof ~ " is null!");
}
Ngoài ra còn có std.traits.fullyQualifiedName
. Nó không những gì nó nói trên hộp:
module mymodule;
import std.traits : fullyQualifiedName;
class MyClass { int myvar; }
pragma(msg, MyClass.myvar.stringof); // myvar
pragma(msg, fullyQualifiedName!(MyClass.myvar)); // mymodule.MyClass.myvar
Là mắt xích đầu tiên chỉ ra, fullyQualifiedName
có thể thích hợp hơn cho việc tạo mã thời gian biên dịch, nơi nó giúp được càng cụ thể càng tốt để tránh xung đột với các biểu tượng địa phương .
Các vấn đề liên quan
- 1. Toán tử D không có trong C++
- 2. tương đương với :: toán tử trong D là gì?
- 3. toán tử C++ typeid
- 4. Hiểu toán tử sizeof trong C
- 5. toán tử typeof trong C
- 6. Sử dụng toán tử "nameof" trong kiểu xem Razor
- 7. Toán tử vs Hàm trong C/C++
- 8. Toán tử có động C#?
- 9. Toán tử C++ lambda ==
- 10. C# = toán tử số
- 11. toán tử [] [] C++
- 12. C++ kiểu mũi tên sản lượng lvalue
- 13. Toán tử C++ typeof
- 14. kiểu, định dạng toán tử slice
- 15. Sự khác biệt giữa '->' (toán tử mũi tên) và '.' (dấu chấm toán tử) trong Objective-C?
- 16. Toán tử/= trong C# làm gì?
- 17. toán tử "??" trong C# là gì?
- 18. Toán tử gán quá tải trong C++
- 19. Toán tử quá tải + trong C++
- 20. Toán tử kết hợp trong C#?
- 21. Bối rối về? toán tử trong C#
- 22. Các toán tử quá tải trong C++
- 23. Quá tải toán tử trong C++
- 24. Quá trình nạp chồng toán tử C++ và không gian tên liên quan
- 25. Cách tạo toán tử tồn tại kiểu CoffeeScript trong JavaScript?
- 26. C++ hợp lý & toán tử
- 27. Cái gì? toán tử có nghĩa là trong C# sau khi khai báo kiểu?
- 28. Quá tải các toán tử so sánh với các kiểu khác nhau trong C++
- 29. C++: Toán tử quá tải =
- 30. C++ toán tử == quá tải