首页 新闻 赞助 找找看

C#为什么可以通过签名进行重载区分?

0
悬赏园豆:10 [已解决问题] 解决于 2013-09-06 16:38

参数修饰符如ref 为什么也可以进行重载?  

LiloT的主页 LiloT | 初学一级 | 园豆:6
提问于:2013-08-21 11:08
< >
分享
最佳答案
0

你看看 clr 框架原理  好像是这本书

c#方法能够重载 在于他的il代码

只要il代码能够区分不同的参数 那么就没问题

如果il区分不了就不想 例如 ref  无法和 out 区分重载

收获园豆:10
小眼睛老鼠 | 老鸟四级 |园豆:2731 | 2013-08-22 14:53
其他回答(2)
0

这个写几个重载,然后看IL代码了~

幻天芒 | 园豆:37175 (高人七级) | 2013-08-21 11:17
0

函数重载只要参数不同。编译器会通过分解函数名字、范围、参数来产生内部名字以供链接器用。

实际上编译器内部维护了唯一标识,C++编程思想第五章讲的很详细了。C#本质一样的,何况是同一个编译器

 

大芝麻 | 园豆:4 (初学一级) | 2013-08-21 11:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册