草庐IT

目的性

全部标签

c# - StringSegment 类的目的是什么?

在Microsoft.Extensions.Primitives包lib中有一个类StringSegment,注释表明它是:Anoptimizedrepresentationofasubstring.在我发现aspnetannouncement#244之前,我并不知道这个特殊的类,声明:Microsoft.Net.Http.Headers转换为使用StringSegments。仍然,看着implementationoftheStringSegment类,我看不出它实际服务的目的是什么。我看到一个缓冲区,我想这表明对部分字符的操作更好(也许是“段”部分?)。我还看到了几个辅助函数,它们在

c# - Quartz.Net 的 IJobFactory 接口(interface)中 ReturnJob 的目的是什么

我正在使用simpleInjector作为IOC容器,但我不清楚ReturnJob的责任是什么,我想知道我该如何继续?这是我到目前为止完成的代码:publicclassSimpleInjectorJobFactory:IJobFactory{privatereadonlyContainer_container;publicSimpleInjectorJobFactory(){_container=newContainer();}publicIJobNewJob(TriggerFiredBundlebundle,ISchedulerscheduler){return_container.

c# - AutoMapper——继承映射不​​工作,相同的源,多个目的地

我可以在AutoMapper(v2.2)中对源类型相同但目标类型不同的映射使用继承映射吗?我有这样的基本情况(真正的类有更多的属性):publicabstractclassBaseViewModel{publicintCommonProperty{get;set;}}publicclassViewModelA:BaseViewModel{publicintPropertyA{get;set;}}publicclassViewModelB:BaseViewModel{publicintPropertyB{get;set;}}ViewModelA和ViewModelB是同一实体类的不同表示

c# - 额外的 ldnull 和 tail 的目的是什么。在 F# 实现与 C# 中?

以下C#函数:TResultOfFunc(Funcf){returnf();}毫不奇怪地编译为:IL_0000:ldarg.1IL_0001:callvirt0500000AIL_0006:ret但是等效的F#函数:letresultOfFuncfunc=func()编译成这样:IL_0000:nopIL_0001:ldarg.0IL_0002:ldnullIL_0003:tail.IL_0005:callvirt0400000AIL_000A:ret(两者都处于Release模式)。开头有一个额外的nop,我对此不太感兴趣,但有趣的是额外的ldnull和tail.指令。我的猜测(可能

c# - 如何使用 GC.KeepAlive() 以及用于什么目的?

我们如何使用GC.KeepAlive()目的是什么?我使用套接字将文件从终端(Windows-CE)传输到服务器。传输所需时间为8分钟。5分钟后Windows-CE关闭(如果未按下触摸屏)如果我为此使用GC.KeepAlive(),这是否解决了我的问题? 最佳答案 您很少需要使用GC.KeepAlive-非常很少。例如,如果您想防止终结器的副作用过早发生,您可以使用它。我最常看到它用于Mutex-保持互斥直到应用程序结束,以确保只有一个实例。(using语句实际上在这里更好,但这是另一回事。)不,这听起来与您的情况无关。

c# - 为 UI 目的对枚举进行排序

假设我们有一个UI,在这个UI中我们有一个下拉菜单。此下拉列表中填充了枚举的翻译值。恭喜,我们可以按枚举的int值、枚举的名称以及枚举的翻译名称进行排序。但是如果我们想要与上述3种不同的排序方式呢?如何处理这样的需求? 最佳答案 实现你自己的IComparer:usingSystem;usingSystem.Collections.Generic;namespacetest{classProgram{enumX{one,two,three,four}classXCompare:IComparer{publicintCompare(X

c# - C#中事件的主要目的

我一直在检查我的一本C#书籍,我刚刚看到关于C#中的事件的一句话:事件的主要目的是防止订阅者相互干扰。不管它是什么意思,是的,实际上事件的工作方式与委托(delegate)非常相似。我一直在想为什么我应该使用事件而不是委托(delegate)。那么有谁能解释一下加粗部分吗?提前致谢。 最佳答案 真正的选择并不是在委托(delegate)和事件之间——它们是完全不同的东西。但是,您可以公开具有委托(delegate)类型的公共(public)属性或公共(public)字段。我想这就是您真正的意思。假设Button.Click是公共(p

C# 如何为测试目的快速生成正确的错误

我的错误处理程序中有一些代码需要针对实际错误进行测试。如何生成具有完整堆栈跟踪并且与运行时错误一样真实的错误。我正在对异常使用一般捕获。因此在这种特殊情况下不需要特定类型的异常。谢谢 最佳答案 objectm=null;strings=m.ToString();即时NullReferenceException。 关于C#如何为测试目的快速生成正确的错误,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

c# - 隐藏(使用 "new"修饰符)接口(interface)方法声明的目的是什么?

可以将接口(interface)中的方法声明标记为“new”,但它是否具有任何“技术”意义,或者它只是一种明确声明声明不能覆盖先前声明的方式?例如:interfaceII1{newvoidF();}interfaceII2:II1{newvoidF();}是有效的(C#4.0编译器不会报错)但似乎与:interfaceII1{voidF();}interfaceII2:II1{voidF();}提前感谢您提供任何信息。编辑:您知道隐藏在界面中会有用的场景吗?编辑:根据此链接:Ismethodhidingeveragoodidea(感谢斯科特),最常见的场景似乎是协变返回类型的仿真。

c# - 获取 TreeView 中所选项目的 TreeViewItem

我有一个绑定(bind)到具有父子关系的数据集的TreeView。我将如何从TreeView中获取选定的TreeViewItem?请帮我。我的代码如下。xaml:-publicMainWindow(){InitializeComponent();DataSetds=newBL.BLMenu().GetAllMenues(newBOModule{Name=Modules.Personnel});ds.Tables[0].TableName="Menu";DataRelationrelation=newDataRelation("rsParentChild",ds.Tables["Menu