在C#中,我有一个非常详细的语法,用于从数据库中提取一个简单的项目列表:
if (malls == null)
{
lock (_lock)
{
if (malls == null)
{
using (var session = NhibernateHelper.OpenSession())
{
malls = session.CreateCriteria<Mall>()
.AddOrder(Order.Asc("Name")).List<Mall>();
CacheManager.Set(CACHE_KEY, malls, TimeSpan.FromMinutes(CACHE_DURATION));
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道双重检查锁定的好处,我强烈支持它的使用,但它看起来非常冗长.你能推荐一些可能会清理它的语法快捷方式或样式吗?
可能重复:
为什么在C#中捕获并重新抛出异常?
我有时会遇到如下所示的C#代码:
try
{
// Some stuff
}
catch (Exception e)
{
throw e;
}
Run Code Online (Sandbox Code Playgroud)
我理解它可以做一些事情,比如记录异常消息,然后重新抛出它.我在谈论只能重新抛出异常的问题.我没有看到这一点.我有三个问题:
1)这有什么好处
2)这根本不会使代码变得缓慢
3)如果捕获块如下,它会有什么不同:
catch (Exception)
{
throw;
}
Run Code Online (Sandbox Code Playgroud) 我实现了一个自定义的 DateTimePicker。在 DateTimePicker 上有一个按钮。在示例中,我发现它的宽度设置为 16。这是有效的,但我想要一种动态方法。
那么,有没有办法获取这个按钮的大小,或者有没有一种通用的方法来获取有关 .Net-Control 子元素(如大小等)的信息?
尝试 DateTimePicker.Controls 对我没有帮助(它是空的)。

纯粹出于好奇,哪些浏览器可以进行Base64图像嵌入工作?我指的是这个.
我意识到它对于大多数事情来说通常不是一个好的解决方案,因为它会增加页面大小 - 我只是好奇.
一些例子:
HTML:
<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
Run Code Online (Sandbox Code Playgroud)
CSS:
div.image {
width:100px;
height:100px;
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...);
}
Run Code Online (Sandbox Code Playgroud) 我为mouseenter mouseleave设置了绑定的jquery事件,以及jquery draggable.div被放置在更新面板中,当单击按钮时,信息将被发送到数据库并更新更新面板.但是,当面板更新时,jquery事件不再起作用.知道为什么会这样吗?
*更新* 我已经重新安装了Snow Leopard,干净安装.完全擦除了我现有的Leopard安装.同样的问题仍然存在.
我已尝试使用多种版本的symbolicatecrash来解析崩溃报告中的符号.从Apple提供的版本到Alan的Quatermain的版本发布在GitHub上,最后来自http://openradar.appspot.com/6438643.
无论出于何种原因,我可以得到的最好结果是我自己的库上的符号得到解决.通常,这足以让我指向正确的方向 - 有时则不是.使用2.x我可以在每个线程的堆栈跟踪中获取代码+ Apple提供的库时没有问题.
我的环境很可能是一个问题,我完全不怀疑Apple或Alan做过的工作.是的我确定我收藏的dSYM与生成崩溃报告的dSYM完全相同.
虽然'Foo'是我,并且从中获取符号非常棒,但我需要查看堆栈中其他函数的符号才能真正理解我的报告.
注意:对于在iPhone OS 2.2.1上运行应用程序崩溃的设备,获取所有符号都没有问题.这是一个iPhone OS 3.0问题.
此外,在详细模式下运行symbolicatecrash时,有些事情让我感到错误:
- NO MATCH
NOT searching in Spotlight for dsym with UUID of /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
## Warning: Can't find any unstripped binary that matches version of /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
..........fetching symbol file for libobjc.A.dylib--[undef]
Searching [/Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0 (5A345)/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0 (5A347)/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0.1 (5B108)/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0.2 (5C1)/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.1.1/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.1/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.2.1/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.2/Symbols/usr/lib/libobjc.A.dylib /Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.0 (7A341)/Symbols/usr/lib/libobjc.A.dylib]...--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0 (5A345)/Symbols/usr/lib/libobjc.A.dylib] -- NO MATCH
--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0 (5A347)/Symbols/usr/lib/libobjc.A.dylib] -- NO MATCH
--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0.1 (5B108)/Symbols/usr/lib/libobjc.A.dylib] -- NO MATCH
--[/Developer/Platforms/iPhoneOS.platform/DeviceSupport/2.0.2 (5C1)/Symbols/usr/lib/libobjc.A.dylib] -- …Run Code Online (Sandbox Code Playgroud) 假设用户输入中缀表达式作为字符串?使用C语言评估表达式结果的最简单方法(最简单的意思是短语 t)是什么?
可能的方法是将其转换为后缀然后使用stacks.But它相当长的过程.有没有办法使用像atoi()或eval()这样的函数来简化工作?
在大多数IDE中,我有一个Reindent All命令.我如何在Eclipse 1.2中做到这一点?
编辑:这些命令适用于Java代码,但有没有办法让它与Clojure一起使用?
我有一个服务正在运行,并希望发送通知.太糟糕了,通知对象需要一个Context,就像一个Activity,而不是一个Service.
你知道通过哪种方式吗?我试图Activity为每个通知创建一个,但它看起来很难看,我找不到一种方法来启动Activity没有任何通知View.
我试图从以下代码块中的PrintStram读取(将传入的数据附加到本地String):
System.out.println("Starting Login Test Cases...");
out = new PrintStream(new ByteArrayOutputStream());
command_feeder = new PipedWriter();
PipedReader in = new PipedReader(command_feeder);
main_controller = new Controller(in, out);
for(int i = 0; i < cases.length; i++)
{
command_feeder.write(cases[i]);
}
Run Code Online (Sandbox Code Playgroud)
main_controller将为其out(PrintStream)写一些字符串,那么我怎么能从这个PrintStream中读取,假设我无法更改Controller类中的任何代码?提前致谢.