为什么不允许(对象)的名称

本文关键字:对象 不允许 为什么 | 更新日期: 2023-09-27 18:16:40

在c# 6.0中你可以这样写:

var instance = default(object);
var type = typeof(object);

它们有相同的结果:

var instance = default(System.Object);
var type = typeof(System.Object);

但是你不能这样写:

var name = nameof(object);

生成以下错误:

无效表达式term 'object'。

但是你仍然可以这样写:

var name = nameof(System.Object);

为什么nameof(object)不能编译?

为什么不允许(对象)的名称

不同之处在于objectObject类的同义词,而nameof()不起同义词作用。

同样适用于nameof(int)nameof(Int32)