草庐IT

高级用法

全部标签

c# - WPF GarbageCollection 中的高级调试建议

情况我们正在运行一个大型WPF应用程序,该应用程序在相当长的一段时间内不会释放内存。这不是真正的内存泄漏,因为内存最终会被释放。我知道通常情况下,这不会被视为问题。不幸的是,它与WPF命令基础结构一起成为性能问题。有关更详细的说明,请参见下文。调查结果我们有执行典型用例的自动化测试。有些情况下工作正常并及时释放内存。其他人则占用内存,直到客户端最小化、打开新窗口或发生触发Gen2收集的其他一些情况。•通过ANTS,我们看到对象没有GCRoot,但有很多对其他需要终结的对象的引用。•WinDbg不显示任何准备好完成的对象。•运行多个GC.Collect(),GC.WaitForPendi

c# - 高级套接字函数

我有一个由典型消息流(32位长度字段+可变长度主体)组成的典型网络协议(protocol),我想从TCP套接字异步读取消息。然而,C#似乎提供了一个相当低级的API:我仍然必须分配缓冲区,手动跟踪写入的偏移量和数据长度,并在单独调用读取长度和主体之间保持状态,就像过去糟糕的日子一样C.在开始编写乏味的异步有状态代码之前,是否有任何高级功能可供我尝试?(没有第三方库)。 最佳答案 没有内置的,没有。事实上,我也想不出任何第三方库。我还没有尝试过,但C#5可能会在这里提供一些语言级别的亮点。发生。另一种选择是使用同步读取的单独线程,但随

c# - ConcurrentQueue<StrongBox<T>> 的用法

我基本上是在寻找一个线程中从相机获取的图像集合的容器。由于ConcurrentQueue是线程安全的,所以我想使用它。但是在调试我的代码时,我发现了thisarticle说Iftheelementsaresmall,you’llprobablynevernoticethis.If,however,theelementsholdontolargeresources(e.g.eachelementisahugeimagebitmap),it’spossibleyoucouldseetheimpactofthis(oneworkaroundistoqueueawrapperobject,e.

C# MEF 与静态类的用法

我的解决方案中有一个静态类,用于处理各种程序集。我想通过MEF链接它们,所以我在类中创建了一个字段。[Import(typeof(A))]staticprivateA_a1;然后我有一个方法,我将程序集名称作为参数传递给该方法:publicstaticALoadPackage(stringfilePath){varcatalog=newAggregateCatalog();catalog.Catalogs.Add(newAssemblyCatalog(filePath));var_container=newCompositionContainer(catalog);???}那么现在有没

无法从具有多个返回的 Select 中的用法推断出 C# 类型参数

我不认为我在做任何太深奥的事情,但我没有看到任何其他关于此的问题。以下代码(我已将其简化为基本要素)在C#4中生成编译器错误。但是,类型参数是什么应该是显而易见的-最大公分母(“A类”)也是在方法“Frob”的返回类型中明确定义。编译器不应该列出lambda表达式中的所有返回类型,创建一个祖先树来找到它们的共同祖先,然后将其与包含方法的预期返回类型进行协调吗?Thetypeargumentsformethod'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable,System.Func)'cannotb

c# - 使用 Resharper 查找 ASP.NET MVC View 的所有用法

我不知道我是不是太傻了,但我找不到一种方法来使用VS和Resharper查找View(cshtml文件)的所有用法。View可以是完整的或部分的。如果有人可以帮助我,这对我正在从事的新项目很有用! 最佳答案 如果您安装了ReSharper:从解决方案资源管理器中选择查看文件使用键盘,Ctrl+Shift+Alt+F12。或者,右键单击View并选择FindUsagesAdvanced...>这给你带来了一个窗口。选中Find列中的所有复选框,并从Scope列中选择解决方案,单击Find>这将在查找结果窗口中为您带来一个用法列表。>

Pytest 的高级用法之 插件开发

前言用过pytest的小伙伴应该都知道,pytest之所以功能强大,是因为pytest的插件非常的多。这是插件大多是pytest的使用者所开发的,今天咱们专门来聊聊如何去自己开发Pytest的插件。一pytest插件的介绍pytest框架采用的是插件系统的模式来设计的,pytest运行的所有流程都是基于插件实现的钩子来实现的。一个插件包含一个或多个钩子函数。编写钩子解释了如何自己编写钩子函数的基础知识和细节。pytest通过调用插件的指定钩子来实现配置、收集、运行和报告的各个方面:内置插件:从pytest的内部_pytest目录加载。外部插件:通过setuptools入口点发现的模块conft

c# - “高级”控制台应用程序

我不确定这个问题是否已在其他地方得到解答,而且我似乎无法通过谷歌找到任何不是“HelloWorld”示例的内容...我正在使用C#.NET4.0进行编码。我正在尝试开发一个控制台应用程序,它将打开、显示文本,然后等待用户输入命令,其中命令将运行特定的业务逻辑。例如:如果用户打开应用程序并键入“帮助”,我想显示一些语句等等。不过我不确定如何为用户输入编写“事件处理程序”代码。希望这是有道理的。任何帮助将非常感激!干杯。 最佳答案 您需要几个步骤来实现这一点,但应该不会那么难。首先,您需要某种解析器来解析您编写的内容。要读取每个命令,只

C# ref 关键字用法

我理解(或者至少我相信我理解)通过ref将类的实例传递给方法与不通过ref传递是什么意思。什么时候或在什么情况下应该通过ref传递类实例?对于类实例使用ref关键字是否有最佳实践? 最佳答案 我遇到过的关于输出和引用参数的最清晰的解释是......JonSkeet的。ParameterPassinginC#他没有深入探讨“最佳实践”,但如果您理解他给出的示例,就会知道何时需要使用它们。 关于C#ref关键字用法,我们在StackOverflow上找到一个类似的问题:

C# var 关键字用法

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicates:Whattouse:varorobjectnametype?UseofvarkeywordinC#What’sthepointofthevarkeyword?ShouldIalwaysfavourimplictlytypedlocalvariablesinC#3.0?我刚刚安装了ReSharper的试用版,以便为我的公司对其进行评估。我注意到的一件事是它建议我更改以下内容(虚构的示例):strings="";到vars="";声明变量时使用var关键字而不是使用对象类型是最佳做法吗?它有什么优势。就上下文而