如果我有一个像这样的功能
public void usefulUtility(parameters...) {
string c = "select * from myDB";
do_a_database_call(c);
}
Run Code Online (Sandbox Code Playgroud)
在很多地方使用过的,将它更改为:
public bool usefulUtility(parameters...) {
string c = "select * from myDB";
bool result = do_a_database_call(c);
return result;
}
Run Code Online (Sandbox Code Playgroud)
这可能会破坏任何代码吗?
我什么都想不到......但它有可能吗?
是的,实际上您可能做的任何影响公共界面的事情都是破坏性的改变。它可能足够小,以至于您不关心,并且没有人或几乎没有人实际上会碰巧遇到极端情况,但埃里克·利珀特(Eric Lippert)解释说,有一些极端情况(其中许多涉及类型推断)甚至可能导致这些看似无害的改变就被打破了。
对于您的特定示例,此代码将因该更改而被破坏。
Action a = usefulUtility;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |