草庐IT

dispatch_main_queue_callback

全部标签

C#如何自己命名Main()方法?

小问题,有没有办法随心所欲地调用main方法?或者它是否必须被称为“Main()”? 最佳答案 请注意,这是C#约定,而不是.NET运行时约定。您可以在IL中随意命名您的方法:.moduleMane.exe.subsystem3.corflags9.assemblyexternmscorlib{.publickeytoken=(B77A5C561934E089).ver2:0:0:0}.assemblyMane{.custominstancevoid[mscorlib]System.Runtime.InteropServices.C

c# - System.Drawing Out of Memory Exception on Main() 方法 - C#

我的程序是一个CRM,我使用了RadRibbonBar、许多带图像的按钮、RadGridView(其中一些列包含图像)和许多其他包含图像的控件。这是一个mdi父/子程序。在许多情况下,当加载一个mdi子项或使用一些GridView时,程序会挂起并给我这个错误:OutOfMemoryExceptionoccurredinSystem.Drawing.dll我在某些部分尝试了GC.Collect()但没有成功。对于设置图像,没有代码!例如,为按钮设置图像我在visualstudio中使用了它的属性。我在可视模式下使用属性面板以这种方式设置了所有其他控件图像。这些是一些与绘图相关的设计器代码

c# - 奇怪的 Queue<T>.Enqueue(T item) 代码

在使用ILSpy进行反射时,我在Queue.Enqueue(Titem)中找到了这行代码-方法:if(this._size==this._array.Length){intnum=(int)((long)this._array.Length*200L/100L);if(num我只是想知道为什么有人会这样做?我认为这是某种整数溢出检查,但为什么要先乘以200L然后除以100L?这可能是早期编译器的问题吗? 最佳答案 通常先乘以再除以100是百分比计算-也许在原始代码中有一些constXxxPercentage=200或类似的东西。编译

c# - 如何避免 "Response.Redirect cannot be called in a Page callback"

我正在清理一些遗留框架代码,其中很大一部分只是通过异常编码。没有检查任何值以查看它们是否为空,因此会抛出和捕获大量异常。我已经清理了其中的大部分,但是,有一些错误/登录/安全相关的框架方法正在执行Response.Redirect,现在我们正在使用ajax,我们得到了很多"不能在页面回调中调用Response.Redirect。”我想尽可能避免这种情况。有没有办法以编程方式避免此异常?我正在寻找类似的东西if(Request.CanRedirect)Request.Redirect("url");请注意,Server.Transfer也会发生这种情况,因此我希望能够检查我是否能够执行R

c# - 在 OO 语言中,您如何命名包含 Main 方法的类?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。例如在C#或Java中,您总是有一个main()方法用于让您的程序运行。你给它所在的类(class)起什么名字?我会使用的一些想法只是“程序”或程序本身的名称。在这种情况下,什么会被视为常规?

c# - Dispatcher.BeginInvoke ,尝试使用 lambda 从文本 block 获取字符串集,但出现转换错误

我试图从按钮调用选定的列表框项目,而不是wpf中的listbox.selecteditemchanged方法。所以当我尝试stringyadda=listbox.SelectedItem.ToString();我得到一个异常(exception):Thecallingthreadcannotaccessthisobjectbecauseadifferentthreadownsit.所以,我想做的是:Dispatcher.BeginInvoke(()=>{lbxSelectedItem=(lbxFileList.SelectedItemasTextBlock).Text;});这也不起作

c# - 在一个 C# 程序中是否可以有多个 main() 方法?

这个问题在这里已经有了答案:Whatistheuseofmultiplemainmethods?(7个答案)MoreThanTwomainMethodinVisualStudioapplication?(8个答案)关闭9年前。在C#控制台应用程序中是否可以有多个main()方法(具有相同的参数)?如果是,怎么办?

c# - 为什么 C# 使用 implicit void Main?

我不明白为什么C#的Main函数在默认情况下是无效的(例如在控制台项目中)。在C和C++中,标准明确规定main必须返回int,使用返回值是有意义的,因为我们可以检查来自外部程序的返回值,并查看C/C++应用程序是成功完成还是遇到错误。所以我的问题是:为什么VisualStudio将Main声明为void?一旦C#控制台应用程序执行完毕,向操作系统返回值的最佳方式是什么? 最佳答案 您可以使用int或void作为返回类型。因此,只需更改它并像在C++中那样返回一个值。为了不让新手迷惑,可能默认为void。

c# - 正确使用(或不使用)Dispatcher.CheckAccess()

在Winforms中,所有控件都有一个InvokeRequired属性,如果我必须调用.[Begin]Invoke控件以修改它,它会返回true。在WPF中,DispatcherObject.CheckAccess()和Dispatcher.CheckAccess()中有一个明显相似的构造,但我被EditorBrowsable(EditorBrowsableState.Never)属性。当我禁用这样的编辑器浏览时,我用它来表示“你不应该不这样做。不,真的。如果这需要解决你眼前的问题,你错误地设计了你的解决方案首要问题。”另一方面,我发现的唯一替代方案(事实上,也是我最初的解决方案)是T

c# - Dispatcher线程和UI线程有什么区别

UI线程和Dispatcher线程在WPF中是一样的还是有什么区别? 最佳答案 ADispatcher负责管理线程的工作。UI线程是渲染UI的线程。TheUIthreadqueuesworkitemsinsideanobjectcalledaDispatcher.TheDispatcherselectsworkitemsonaprioritybasisandrunseachonetocompletion.EveryUIthreadmusthaveatleastoneDispatcher,andeachDispatchercanexe