考虑以下两种方法:
void Method(object obj) { Console.WriteLine("object"); }
void Method(int[] array) { Console.WriteLine("int[]"); }
Run Code Online (Sandbox Code Playgroud)
当我尝试打电话时:
Method(null);
Run Code Online (Sandbox Code Playgroud)
在Visual Studio 2008 SP1中,我得到了int[].
为什么是这样?
Ant*_*ram 11
它是重载分辨率的产物.你的论点null可以转换为object和int[].因此编译器选择最具体的版本,因为int[]它更具体object.
| 归档时间: |
|
| 查看次数: |
718 次 |
| 最近记录: |