相关疑难解决方法(0)

One Liner:WeakReference-to-a Lambda事件处理程序

除了多次使用它会违反DRY原则这个事实之外,你能否看到这种单线的缺点?这似乎很简单,但我没有看到其他人提出它的事实让我想知道它是否有缺点.

这段代码创建一个方法的WeakReference,然后注册一个调用引用目标的事件处理程序.

SomeEvent += (sender, e) => ((Action)(new WeakReference((Action)ProcessEvent)).Target)();
Run Code Online (Sandbox Code Playgroud)

谢谢,

.net c# lambda weak-references event-handling

9
推荐指数
1
解决办法
3411
查看次数

调试期间是否运行垃圾收集?

我有一个程序打开一个Excel COM对象,做一些东西,并关闭它.然后我想在文件关闭后移动它.如果我运行没有断点的程序,这可以正常工作.但是,如果我在尝试移动文件之前进入调试模式,我会得到一个IOException:"进程无法访问该文件,因为它正被另一个进程使用."

那是什么交易?当一个程序被允许以全速运行而不是在我踩过它时,垃圾收集是否表现更好?踩着我的代码做的不仅仅是非常缓慢地运行它吗?调试模式还有其他后果吗?遇到的其他错误只是因为我在调试而没有运行exe?

c# garbage-collection

8
推荐指数
1
解决办法
2765
查看次数