为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
繁华开满天机 2018-11-07 11:10:22
参数修饰符如ref 为什么也可以进行重载? 
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

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

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

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

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


查看完整回答
反对 回复 2018-11-11
?
撒科打诨

TA贡献1934条经验 获得超2个赞

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


查看完整回答
反对 回复 2018-11-11
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

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

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


查看完整回答
反对 回复 2018-11-11
  • 3 回答
  • 0 关注
  • 673 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信