如果我有一个像
public void usefulUtility(parameters...) {
string c = "select * from myDB";
do_a_database_call(c);
}
这在很多地方都有使用,如果将其更改为:
public bool usefulUtility(parameters...) {
string c = "select * from myDB";
bool result = do_a_database_call(c);
return result;
}
这可能会破坏密码吗?
我想不出什么…但有可能吗?
最佳答案
是的,实际上任何可能影响公共接口的事情都是一个突破性的改变。它可能很小,以至于你不在乎,没有人,或者几乎没有人,会碰巧碰到关键的案例,但是eric lippertexplains有一些边缘案例(其中许多涉及类型推断),甚至会导致这些看似无害的改变破裂。
对于您的特定示例,该更改将破坏此代码。
Action a = usefulUtility;