В C# 6.0 вы можете написать это:Почему имяof (объект) не разрешено?
var instance = default(object);
var type = typeof(object);
Они имеют один и тот же результат:
var instance = default(System.Object);
var type = typeof(System.Object);
Но вы не можете написать это:
var name = nameof(object);
Он генерирует следующие ошибка:
Invalid expression term 'object'.
Но вы все еще можете написать это:
var name = nameof(System.Object);
Почему nameof(object)
не компилируется?
Try: 'nameof (Object)' вместо этого. 'nameof()' не работает над синонимами, только на исходных классах. –
@CodeCaster, чтобы получить имя класса 'Object' как строку –
@CodeCaster Jeroen является правильным. Попробуйте, если вы не верите. – hvd