草庐IT

c# - 延迟事件处理直到事件被触发

在C#中,延迟处理所有已知事件直到实体被完全修改的最佳方法是什么?例如,一个实体-MyEntity-具有属性ID、名称和描述...publicclassMyEntity{publicInt32ID{get;set;}publicStringName{get;set;}publicStringDescription{get;set;}}当修改每个属性时,每次修改都会触发一个事件。有时,ID是唯一被修改的属性,有时所有属性都被修改。我希望修改事件的注册监听器等待,直到“批处理”中被修改的所有属性都被修改。实现此目标的最佳方法是什么?在我看来,类似于UnitOfWork模式的东西,可以在调用

c# - 使用自定义 Razor View 引擎处理布局属性

我已经实现了一个类似于此处描述的Multi-TenancyView引擎:http://weblogs.asp.net/imranbaloch/archive/2011/06/27/view-engine-with-dynamic-view-location.aspx这让我可以像这样覆盖View的搜索位置:MasterLocationFormats=new[]{"~/Views/%1/{1}/{0}.cshtml","~/Views/%1/Shared/{0}.cshtml","~/Views/Default/{1}/{0}.cshtml","~/Views/Default/Shared

c# - 将键盘事件发送到 C# 中不处理 Windows 事件的另一个应用程序

这是我的情况:我们正在编写一个必须将MicrosoftKinect坐标转换为键盘和鼠标事件的应用程序。当我们需要控制鼠标时,在任何类型的应用程序中,一切都按照我们的预期进行。当我们需要将键盘事件(如按下或向上键)发送到不处理Windows事件的应用程序(例如游戏)时,就会出现问题。我们尝试了.net框架的SendKeys类,它只适用于Windows应用程序。当应用程序是像《半条命》或《毁灭战士》这样的游戏时,我们无法获得相同的效果。那么,这是我的问题:我们如何才能有效地将键盘事件发送到这些其他应用程序? 最佳答案 您需要使用Send

c# - 如何使用 Lazy 处理并发请求?

我是C#的新手,正在尝试了解如何使用Lazy。我需要通过等待已运行操作的结果来处理并发请求。数据请求可能会同时使用相同/不同的凭据。对于每组唯一的凭据,最多可以进行一个GetDataInternal调用,该调用的结果会在准备就绪时返回给所有排队的服务员privatereadonlyConcurrentDictionary>Cache=newConcurrentDictionary>();publicDataGetData(Credentialcredential){//Thisinstancewillbethrownawayifacached//valuewithour"credent

c# - 在 IDisposable 类层次结构中正确处理 ObjectDisposedException

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.3年前关闭。Improvethisquestion正确实现IDisposable时,大多数实现,包括框架指南,都建议包含privatebooldisposed;成员,以便安全地允许多次调用Dispose(),Dispose(bool)以及扔ObjectDisposedException在适当的时候。这适用于单个类。但是,当您从一次性资源进行子类化,并且子类包含它自己的native资源和独特的方法时,事情就会变得有点棘手。大多数示例展示了如何覆盖Dipos

c# - 使用 TextFieldParser 处理包含未转义双引号的字段

我正在尝试使用TextFieldParser导入CSV文件.一个特定的CSV文件由于其非标准格式而给我带来了问题。有问题的CSV的字段用双引号括起来。当特定字段中存在一组额外的未转义双引号时,就会出现问题。这是一个突出问题的过度简化的测试用例。我正在处理的实际CSV文件的格式并不完全相同,并且有几十个字段,其中任何一个都可能包含这些可能棘手的格式问题。TextReaderreader=newStringReader("\"Row\",\"TestString\"\n"+"\"1\",\"Thisisateststring.Itisparsedcorrectly.\"\n"+"\"2\"

c# - 如何在每个请求上从 IoC 容器解析 Web API 消息处理程序/DelegatingHandler

ThisMSDNarticle描述了如何在ASP.NETWebAPI中有效地使用HTTP消息处理程序来“装饰”请求。此外,本文还展示了以下代码,用于将您的自定义处理程序注册到WebAPI管道中:config.MessageHandlers.Add(newMessageHandler1());我在使用这种方法时遇到的问题是,这会将MessageHandler1有效地注册为单例。当处理程序本身没有状态也没有依赖关系时,这很好,但是在基于SOLID设计原则的系统中,这些处理程序很可能会有自己的依赖关系,并且很可能其中一些依赖关系需要一个比单例短的生命周期。如果是这种情况,则不应将此类消息处理

c# - 在 XAML 中为一个事件添加多个事件处理程序?

在程序代码中可以做以下事情://Addtwoeventhandlerforthebuttonclickeventbutton1.Click+=newRoutedEventHandler(button1_Click_1);button1.Click+=newRoutedEventHandler(button1_Click_2);但如何在XAML中为按钮的点击事件添加多个事件处理程序?感谢您的任何提示! 最佳答案 您不能在XAML中订阅多个事件处理程序。但是,您可以通过订阅单个事件处理程序然后从事件处理程序调用两个或多个方法来实现相同的

c# - 任何用于处理 Excel(*.xls 和 *.xlsx)文件的开源/免费库?

这个问题在这里已经有了答案:HowdoIcreateanExcel(.XLSand.XLSX)fileinC#withoutinstallingMicrosoftOffice?(47个回答)关闭9年前。我知道一些用于处理Excel文件的开源库,但这些仅适用于*.xls或*.xlsx,例如NPOI适用于*.xls,EPPlus和ClosedXML适用于*.xlsx。由于性能问题,我不想使用MicrosoftExcelAutomation。您能否向我推荐一些满足此目的的开源或免费库(同时处理*.xls和*.xlsx)。

c# - 我什么时候可以处理 IDisposable WPF 控件,例如Windows 窗体主机?

WPF控件WindowsFormsHost继承自IDisposable。如果我有一个包含上述某些控件的复杂WPF可视化树,我可以使用什么事件或方法在关闭期间调用IDispose? 最佳答案 在应用程序关闭的情况下,您无需执行任何操作即可正确处理WindowsFormsHost。由于它派生自HwndHost,因此在Dispatcher关闭时处理处理。如果您使用Reflector,您会看到在初始化HwndHost时它会创建一个WeakEventDispatcherShutdown。如果您在对话框中使用它,我建议的最好的办法是覆盖OnCl