草庐IT

print_df_in_a_function

全部标签

c# - : this(foo) syntax in C# constructors?

时不时地,我会遇到以前见过但从未使用过的语法。这是其中一个时代。谁能解释一下C#构造方法后面的“:this”或“:base”的用途?例如:publicMyClass(SomeArgarg):this(newSomethingElse(),arg){}我的直觉是它用于将默认参数映射到另一个构造方法。 最佳答案 你基本上是对的。this()在当前实例上调用构造函数,base()在当前实例上调用父类(superclass)型的构造函数。它们通常用于处理构造函数重载,因此您可以添加额外的选项而无需将内容分解为单独的方法。

c# - WPF/多线程 : UI Dispatcher in MVVM

也就是说,在MVVM环境中,我在后台线程中,我想在ui控件上运行更新。所以通常我会去myButton.Dispatcher.BeginInvoke(blabla)但我无权访问myButton(因为View模型无权访问View的控件)。那么这样做的正常模式是什么?(我猜总有绑定(bind),但我想知道如何通过调度程序做到这一点) 最佳答案 我通常使用Application.Current.Dispatcher:因为Application.Current是静态的,所以您不需要对控件的引用 关

c# - T4代码生成: access types in current project

使用T4代码生成,是否可以访问当前项目中定义的类型?例如,如果我有一个接口(interface)并且我想将它的实现委托(delegate)给另一个类,即interfaceIDoSomething{publicvoiddo_something();}classDoSomethingImpl:IDoSomething{publicvoiddo_something(){//implementation...}}classSomeClass:IDoSomething{IDoSomethingm_doSomething=newDoSomethingImpl();//forwardcallstoi

c# - 懒惰<T> : "The function evaluation requires all threads to run"

我有一个带有一些静态属性的静态类。我在一个静态构造函数中初始化了所有这些,但后来意识到这是浪费,我应该在需要时延迟加载每个属性。所以我转而使用System.Lazytype来完成所有肮脏的工作,并告诉它不要使用它的任何线程安全功能,因为在我的例子中执行总是单线程的。我得到了以下类(class):publicstaticclassQueues{privatestaticreadonlyLazyg_Parser=newLazy(()=>newQueue(Config.ParserQueueName),false);privatestaticreadonlyLazyg_Distributor

C# 重新抛出异常 : how to get the exception stack in the IDE?

这里之前已经讨论过重新抛出异常的正确方法。相反,这个问题是关于如何在使用rethrow时从VisualStudio获得有用的行为。考虑这段代码:staticvoidfoo(){thrownewException("boo!");}staticvoidMain(string[]args){try{foo();}catch(Exceptionx){//dosomestuffthrow;}}出现的异常具有正确的堆栈跟踪,将foo()显示为异常源。但是,GUI调用堆栈窗口只显示Main,而我期望它显示异常的调用堆栈,一直到foo。当没有重新抛出时,我可以使用GUI非常快速地导航调用堆栈,以查看

c# - 调用堆栈中的 "[Lightweight Function]"

我正在调试一个程序(VS2008),我正在单步执行代码行。我遇到了调用委托(delegate)函数的一行,我试图进入它。但是,该方法并没有像我预期的那样进入方法,而是被绕过了,调试器进入了我认为是委托(delegate)调用的函数。在调用堆栈中,我希望委托(delegate)方法所在的行显示为灰色,文本为[LightweightFunction]。“轻量级功能”部分是什么意思?有没有办法进入这个功能? 最佳答案 我相信轻量级函数是指DynamicMethod,即在运行时发出、使用然后卸载的一个。这篇博文与IronPython相关,但

c# - Visual Studio 2008/C# : How to find dead code in a project?

如何在VisualStudio2008C#项目中找到死代码?比如未使用的类、未使用的变量或未使用的资源? 最佳答案 你可以试试FxCop,它以代码分析的名称集成在VisualStudio2008中。您只需右键单击项目文件并选择“运行代码分析”。FxCopisanapplicationthatanalyzesmanagedcodeassemblies(codethattargetsthe.NETFrameworkcommonlanguageruntime)andreportsinformationabouttheassemblies,

c# - 为什么 var 在 "foreach (var row in table.Rows)"中评估为 System.Object ?

当我输入此foreach语句时...foreach(varrowintable.Rows)...var的工具提示显示classSystem.Object我很困惑为什么它不是classSystem.Data.DataRow。(如果您想知道,是的,我的代码文件顶部有usingSystem.Data。)如果我显式声明类型,如...foreach(DataRowrowintable.Rows)...它工作正常,没有错误。如果我这样做...varnumbers=newint[]{1,2,3};foreach(varnumberinnumbers)...var的计算结果为structSystem.

javascript - 哪个更适合 JavaScript 加载时间 : Compress all in one big file or load all asynchronously?

一个简单的问题,我不确定它是否有简短的答案!描述我有一个要加载到网站的JavaScript文件,这里有一些关于它们的注释:它们都来自同一个域(不需要跨域加载)它们在整个网站上都是相同的。有几个文件,例如jQuery,还有5个其他插件以及我自己的基于它们的应用程序脚本。它们全部压缩后的大小=224KB,(我将所有文件合并到一个文件中,然后使用YUICompressor2一次压缩它们问题我听说224KB放在一个文件中并不理想!它应该被分成几个文件,每个最大44KB..我不记得我是什么时候听到这个的,我不确定把它分成更多的文件是否有效,但224KB确实需要很长时间第一次加载,考虑到网站加载了

javascript - 类型错误 : [API] is undefined in content script or Why can't I do this in a content script?

我试图在Firefox中编写一个简单的扩展,其中我修改了X-Frame-Allowheader。我简要地查看了文档,发现它们支持webRequest.onHeadersReceived.addListener()。但是,我无法在收到header时运行我的代码。list.json{"manifest_version":2,"name":"xframeoptions","version":"1.0","description":"SetX-Frame-OptionstoALLOW","icons":{"48":"icons/icon.png"},"permissions":["webReq