Por que nameof (objeto) não é permitido?
No C # 6.0, você pode escrever isso:
var instance = default(object);
var type = typeof(object);
Eles têm o mesmo resultado de:
var instance = default(System.Object);
var type = typeof(System.Object);
Mas você não pode escrever isso:
var name = nameof(object);
Ele gera o seguinte erro:
Termo de expressão inválido 'objeto'.
Mas você ainda pode escrever isso:
var name = nameof(System.Object);
Por quênameof(object)
não compila?