Trong C# 6.0 bạn có thể viết này:Tại sao tên (đối tượng) không được phép?
var instance = default(object);
var type = typeof(object);
Họ có cùng một kết quả của:
var instance = default(System.Object);
var type = typeof(System.Object);
Nhưng bạn không thể viết này:
var name = nameof(object);
Nó tạo ra sau lỗi:
.210Invalid expression term 'object'.
Nhưng bạn vẫn có thể viết này:
var name = nameof(System.Object);
Tại sao nameof(object)
không biên dịch?
Hãy thử: 'nameof (Object)' để thay thế. 'nameof()' không hoạt động trên các từ đồng nghĩa, chỉ trên các tên lớp ban đầu. –
@CodeCaster, để lấy tên của lớp 'Object' là chuỗi –
@CodeCaster Jeroen là đúng. Hãy thử nó nếu bạn không tin điều đó. – hvd