最近,我正在研究一些关于没有处理的对象的棘手错误.
我在代码中找到了一些模式.据报道,有些m_foo没有被处理,而似乎SomeClass的所有实例都被处理掉了.
public class SomeClass: IDisposable
{
void Dispose()
{
if (m_foo != null)
{
m_foo.Dispose();
}
if (m_bar != null)
{
m_bar.Dispose();
}
}
private Foo m_foo;
private Bar m_bar;
}
Run Code Online (Sandbox Code Playgroud)
我怀疑Foo.Dispose可能会抛出异常,因此不会执行以下代码,因此不会释放m_bar.
由于Foo/Bar可能来自第三方,因此不保证不会抛出异常.
如果只使用try-catch包装所有Dispose调用,代码将变得笨拙.
处理这个问题的最佳做法是什么?
我需要升级我们的Web服务以使用WCF而不是ASMX.如果Web服务的签名保持不变,那么已经调用ASMX服务的现有客户端是否必须更改任何内容?无论如何仍然使用WCF但不强迫他们改变任何东西?
可能重复:
在同一台计算机上运行Internet Explorer 6,Internet Explorer 7和Internet Explorer 8
有没有办法在同一台机器上安装Internet Explorer 6.0,Internet Explorer 7.0和Internet Explorer 8.0?使用Windows XP?
我正在尝试测试我的Web应用程序,它必须能够在Internet Explorer 6-8中运行.
将String转换为Integer对象的方法有很多种.以下哪项是最有效的:
Integer.valueOf()
Integer.parseInt()
org.apache.commons.beanutils.converters.IntegerConverter
Run Code Online (Sandbox Code Playgroud)
我的用例需要创建包装器Integer对象...意味着没有原始int ...并且转换后的数据用于只读.
例如qa_sharutils-2009-04-22-15-20-39
,想要砍掉最后20个字节,然后得到' qa_sharutils
'.
我知道如何在sed中做到这一点,但为什么$A=${A/.\{20\}$/}
不起作用?
谢谢!
我觉得很奇怪(我想!).如果我尝试在yes()方法中放置一个断点,它将永远不会在执行该函数时暂停程序.如果我尝试对任何其他代码行执行相同操作,它将按预期工作.这是一个错误,还是有什么东西逃脱了我?
过滤器将返回2个对象,除调试器外,一切似乎都按预期工作.
private void Form1_Load(object sender, EventArgs e) {
List<LOL> list = new List<LOL>();
list.Add(new LOL());
list.Add(new LOL());
IEnumerable<LOL> filter = list.Where(
delegate(LOL lol) {
return lol.yes();
}
);
string l = ""; <------this is hit by the debugger
}
class LOL {
public bool yes() {
bool ret = true; <---------this is NOT hit by the debugger
return ret;
}
}
Run Code Online (Sandbox Code Playgroud) 虽然我知道二进制表示的基本概念,但我从未真正编写任何使用二进制算术和运算的代码.
我想知道
程序员应该了解二进制数和算术的基本概念是什么?,和
以什么"实际"方式可以在编程中使用二进制操作.我已经看到了移位运算符和XOR等的一些"酷"用法,但是有一些典型的问题,使用二进制运算是一个明显的选择.
请指点一些好的参考资料.
我是设计和学习设计原则的新手.
它说从矩形推导出方形是违反Liskov替代原则的典型例子.
如果是这样的话,那么正确的设计应该是什么?
我有一个递归调用自身的函数,我想检测并终止,如果进入无限循环,即 - 再次调用相同的问题.最简单的方法是什么?
编辑:这是函数,它将以不同的x和y值递归调用.我想终止,如果在递归调用中,重复对(x,y)的值.
int fromPos(int [] arr, int x, int y)
Run Code Online (Sandbox Code Playgroud) java ×3
.net ×1
asp.net ×1
bash ×1
binary ×1
breakpoints ×1
c# ×1
cygwin ×1
debugging ×1
delegates ×1
detection ×1
dispose ×1
idisposable ×1
liskov-substitution-principle ×1
list ×1
oop ×1
optimization ×1
performance ×1
wcf ×1