在C#6.0中,您可以这样写:
var instance = default(object);
var type = typeof(object);
Run Code Online (Sandbox Code Playgroud)
他们有相同的结果:
var instance = default(System.Object);
var type = typeof(System.Object);
Run Code Online (Sandbox Code Playgroud)
但你不能写这个:
var name = nameof(object);
Run Code Online (Sandbox Code Playgroud)
它会生成以下错误:
表达式术语"对象"无效.
但是你仍然可以这样写:
var name = nameof(System.Object);
Run Code Online (Sandbox Code Playgroud)
为什么nameof(object)不编译?
Jer*_*gen 14
区别在于它object是类的同义词Object,nameof()不适用于同义词.
同样适用于nameof(int)vsnameof(Int32)
| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |