草庐IT

static-dispatch

全部标签

C# 4.0 : casting dynamic to static

这是一个分支问题,与我问的另一个问题有关here.我把它分开是因为它真的是一个子问题:我在转换dynamic类型的对象时遇到困难到另一个(已知的)静态类型。我有一个用于执行此操作的IronPython脚本:importclrclr.AddReference("System")fromSystemimport*defGetBclUri():returnUri("http://google.com")请注意,它只是更新BCLSystem.Uri类型并返回它.所以我知道静态类型返回的对象。现在在C#领域,我正在更新脚本托管内容并调用这个getter来返回Uri对象:dynamicuri=sc

c# - 使用 x :Static 指定时忽略 DataTemplate 键

我遇到了DataTemplate键的奇怪行为:当通过x:Type指定DataType,并且通过x:Static引用指定x:Key时,忽略x:Key。我编写了示例应用程序来说明它。XAML资源:C#:publicclassTestDto{}publicstaticclassDataKeys{publicstaticstringTestDtoKey="TestKey";publicstaticstringTestDtoKey2="TestKey2";publicstaticstringTestDtoKey4="TestKey4";}启动应用程序,在调试器中查看this.Resources.

c# - WPF Dispatcher BeginInvoke 排序保证

如果我打电话Dispatcher.BeginInvoke(operation,DispatcherPriority.Loaded)来自20多个线程的1,000,000次,这1,000,000次操作是否保证按BeginInvoke调用的顺序由UI线程执行? 最佳答案 msdn说IfmultipleBeginInvokecallsaremadeatthesameDispatcherPriority,theywillbeexecutedintheorderthecallsweremade但是如果您从多个线程访问Dispatcher那么An

c# - 如何关闭 resharper 中的 "Convert Extension Method to Plain Static"自动重构?

在使用Resharper时,由于某些原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的ConvertExtensionMethodtoPlainStatic重构。foo.Bar()成为MyStaticExtensions.Bar(foo);具有讽刺意味的是,它随后将此标记为代码异味。我该如何关闭它? 最佳答案 Resharper的IntelliSense中嵌入了此功能。我经常使用Linq-to-sql扩展,所以我禁用了这个功能:Resharper-选项-IntelliSense-启用RadiobuttonVisu

c# - 有什么理由不使用标准 resx+static 绑定(bind)来本地化 WPF 吗?

我正在寻找一种非常简单的方法来将我的应用程序本地化为日语以及默认的英语。唯一的要求是我们能够以指定的语言启动它。我们使用的LocBaml东西笨重、复杂、容易出错,并且使我们的构建过程极其困难。我正在考虑将所有内容移回资源文件(Strings.resx、Strings.ja.resx)并只进行静态绑定(bind),如下所示:然后在启动时找出他们想要的语言并切换从中提取字符串的资源:publicstaticvoidMain(string[]args){if(args[0]=="-lang"){Thread.CurrentThread.CurrentUICulture=CultureInfo

c# - 面向对象编程中static修饰符有什么用?

在我的一次采访中,有人问我static修饰符表示什么。我通过告诉面试官不能创建静态类的对象以及其他有用的点来回答。但是面试官问创建这样一个对象不能创建的类有什么用。基本上,他们问的是为什么首先需要static?我不太确定如何回答这个问题。我应该说什么? 最佳答案 面试官可能希望您讨论面向对象的设计和模式,而不是他们希望您背诵特定修饰符的定义。这里真的没有正确答案。纯粹主义者可能会争辩说static是可憎的。实用主义者可能会争辩说,它填补了“一切都是对象”抽象中的一个空白,允许您调用实用方法,而实例化一个新对象只是为了调用它们是没有意

c# - 低级差异 : non-static class with static method vs. 静态类与静态方法

我想知道使用具有静态方法的非静态类与具有相同静态方法的静态类的一般好处(或缺点)是什么,除了我不能使用非静态类中的静态方法作为扩展方法。例如:classNonStaticClass{publicstaticstringGetData(){return"Thiswasinvokedfromanon-staticclass.";}}与此相比:staticclassStaticClass{publicstaticstringGetData(){return"Thiswasinvokedfromastaticclass.";}}使用一种方法优于另一种方法对性能/内存有何影响?注意:假设我不需要

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

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

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