AFAIK:
将可选参数添加到从中调用的公共方法 另一个程序集需要重新编译两个程序集 - 就像 虽然参数是强制性的。
在这种情况下,我想知道WebService。
我呢 - 使用added optional param webservice method
?
例如:
让我们说Google的网络服务方法是:
void DoWork(int a , int b)
并且已更改为
void DoWork(int a , int b , isDefault=false)
答案 0 :(得分:3)
我的理解是可选参数是语法糖。
您最终仍然会将所有参数作为必需参数重载,但是当遇到没有指定可选参数的方法调用时,编译器会自动将可选参数的默认值插入IL中的调用站点。
这对Web服务的影响取决于可选参数如何通过代理传播。
如果它是对WSDL的非破坏性更改,那么我的猜测是它不会产生影响,您不需要重新生成代理,以及现有生成的请求从WSDL合同的角度来看,代理仍然有效。
但是,如果它是对WSDL的重大更改,那么您显然需要重新生成代理,并且需要重新编译任何调用站点到代理方法。