草庐IT

ovly_debug_event

全部标签

c# - 为什么代码行为在发布和 Debug模式下不同?

考虑以下代码:privatestaticvoidMain(string[]args){varar=newdouble[]{100};FillTo(refar,5);Console.WriteLine(string.Join(",",ar.Select(a=>a.ToString()).ToArray()));}publicstaticvoidFillTo(refdouble[]dd,intN){if(dd.Length>=N)return;double[]Old=dd;doubled=double.NaN;if(Old.Length>0)d=Old[0];dd=newdouble[N]

c# - 为什么我们在定义事件时需要 "event"关键字?

我不明白为什么我们在定义事件时需要“event”关键字,而我们可以在不使用“event”关键字的情况下做同样的事情,只需使用委托(delegate)。例如publicdelegatevoidCustomEventHandler(inta,stringb);publiceventCustomEventHandlercustomEvent;customEvent+=newCustomEventHandler(customEventHandler);customEvent(1,"a");//Raisingtheevent在这里,如果我从第二行中删除“事件”关键字,那么我也可以通过调用委托(d

c# - 此代码在 Release模式下挂起,但在 Debug模式下工作正常

我遇到了这个问题,想知道在调试和Release模式下出现这种行为的原因。publicstaticvoidMain(string[]args){boolisComplete=false;vart=newThread(()=>{inti=0;while(!isComplete)i+=0;});t.Start();Thread.Sleep(500);isComplete=true;t.Join();Console.WriteLine("complete!");} 最佳答案 我猜优化器被isComplete变量上缺少“volatile”关键

c# - System.Diagnostics.Debug.Write 输出出现在哪里?

以下C#程序(使用cschello.cs构建)仅在控制台上打印HelloviaConsole!并在中打印HelloviaOutputDebugString调试View窗口。但是,我看不到任何一个System.Diagnostics.*调用。这是为什么?usingSystem;usingSystem.Runtime.InteropServices;classHello{[DllImport("kernel32.dll",CharSet=CharSet.Auto)]publicstaticexternvoidOutputDebugString(stringmessage);staticvo

c# - Visual Studio 构建失败 : unable to copy exe-file from obj\debug to bin\debug

更新:可以找到重现此错误的示例项目hereatMicrosoftConnect.我也测试并验证了theacceptedanswerbelow中给出的解决方案。在该示例项目上工作。如果此解决方案对您不起作用,则您可能遇到了不同的问题(属于单独的问题)。这是之前在StackOverflow和其他地方提出的一个问题,但到目前为止我发现的所有建议都没有帮助我,所以我只能尝试提出一个新问题。场景:我有一个简单的Windows窗体应用程序(C#、.NET4.0、VisualStudio2010)。它有几个大多数其他形式继承自的基本形式,它使用EntityFramework(和POCO类)进行数据库

c# - #if DEBUG 与条件 ("DEBUG")

在大型项目中哪个更好用,为什么:#ifDEBUGpublicvoidSetPrivateValue(intvalue){...}#endif或[System.Diagnostics.Conditional("DEBUG")]publicvoidSetPrivateValue(intvalue){...} 最佳答案 这真的取决于你要做什么:#ifDEBUG:此处的代码甚至不会在发布时到达IL。[Conditional("DEBUG")]:此代码将到达IL,但是对该方法的调用将被省略,除非在编译调用程序时设置了DEBUG.我个人根据情况

events - 我可以将哪些属性与 event.target 一起使用?

我需要确定触发事件的元素。使用event.target获取相应的元素。我可以从那里使用哪些属性?引用编号节点名我找不到关于它的大量信息,即使在jQuery上也是如此页,所以希望有人能完成上面的列表。编辑:这些可能会有帮助:selfHTMLnodeproperties和selfHTMLHTMLproperties 最佳答案 如果您使用firebug或chrome的开发人员工具检查event.target,您会看到一个span元素(例如以下属性),它将具有任何元素具有的任何属性。这取决于目标元素是什么:event.target:HTML

jquery - 如何在使用 event.preventDefault() 后触发事件

我想举办一个事件,直到我准备好开始它,例如$('.button').live('click',function(e){e.preventDefault();//dolotsofstuffe.run()//thisproceedswiththenormalevent}是否有与上述run()函数等效的函数? 最佳答案 没有。一旦事件被取消,它就被取消。您可以稍后重新触发事件,使用标志来确定您的自定义代码是否已经运行-例如这个(请忽略公然的命名空间污染):varlots_of_stuff_already_done=false;$('.bu

jquery - $(this) 和 event.target 的区别?

我是jQuery的新手,正在制作选项卡式面板,遵循JavaScript和jQuery中的教程:缺失的手册,当作者这样做时第一行是:vartarget=$(this);但我试着那样做vartarget=evt.target;我得到了那个错误:UncaughtTypeError:Objecthttp://localhost/tabbedPanels/#panel1hasnomethod'attr'当我将evt.target改回$(this)时,效果非常好。我想知道$(this)和evt.target有什么区别?这是我的代码,以备不时之需:index.html:TabbedPanelbody

jquery - WebKit 问题与 event.layerX 和 event.layerY

我刚刚注意到我在最新(金丝雀)版本的Chrome中收到了大量已弃用的警告。event.layerXandevent.layerYarebrokenanddeprecatedinWebKit.Theywillberemovedfromtheengineinthenearfuture.看起来jQuery搞砸了。我正在使用:jquery-1.6.1.min.js。升级到最新的jQuery版本是否有帮助,它是否尚未修复,是Chrome错误还是其他问题。附言我无法向您展示代码,因为我认为这是一个一般错误,但我怀疑当我尝试访问jQuery对象或当jQuery尝试访问layerX/layerY时会抛