C#默认参数是用语法糖实现的?刚了解,滴汗,那vb呢。
hwyqy 2018-01-02 11:06:33 刚了解C#中的默认参数是编译器的语法糖,比如
方法 A(bool b=true)
调用 A(),实际上编译器会生成A(true)
以前不知道,所以犯过错误
犯过什么错误呢,就是我写了一个类库 XX.dll,其中有方法B
后来更新方法B,增加一个参数,当时想当然认为,可以不用重载,用默认参数么
修改B方法为,B(bool b=true),还保持兼容,OK
现在想起来,这种操作是错误的,导致调用类库XX.dll的代码,会全部报错,除非重新编译。
不知道VB.net是不是通过语法糖实现的,总感觉语法这种语法糖仅是表面解决问题