草庐IT

Iterator模式

全部标签

c# - 不同 DbContext 和不同模式之间的 Entity Framework 关系

因此,我有两个主要对象,Member和Guild。一个成员(member)可以拥有一个公会,一个公会可以有多个成员(member)。我在单独的DbContext和单独的类库中有Members类。我计划在多个项目中重用这个类库并帮助区分,我将数据库模式设置为“acc”。我已经广泛测试了这个库,可以在acc.Members表中添加、删除和更新成员。公会类是这样的:publicclassGuild{publicGuild(){Members=newList();}publicintID{get;set;}publicintMemberID{get;set;}publicvirtualMemb

c# - 如何优雅地处理 winforms 应用程序中的休眠/ sleep 模式?

我正在使用C#在.net中编写Windows窗体应用程序。我遇到了一个问题,如果我的程序在计算机进入休眠和/或休眠状态时运行(我现在不确定是哪一个或两个导致问题),当机器再次醒来程序只是挂起。退出它的唯一方法是从任务管理器中终止进程。出于显而易见的原因,这不是我希望程序运行的方式。即使我只是在程序进入这些状态时关闭程序,那也很好,但我不太确定如何执行此操作,或者是否有更优雅的方式来处理此问题。 最佳答案 你需要:usingMicrosoft.Win32;这是代码:voidSystemEvents_PowerModeChanged(o

c# - 使用 FileStream.ReadAsync() 时,我应该以异步模式打开文件吗?

为FileStream执行异步I/O的旧.Net方法是使用FileStream.BeginRead()和FileStream.EndRead().FileStream.BeginRead()的MSDN文档指出:FileStreamprovidestwodifferentmodesofoperation:synchronousI/OandasynchronousI/O.Whileeithercanbeused,theunderlyingoperatingsystemresourcesmightallowaccessinonlyoneofthesemodes.Bydefault,FileS

c# - 寻找解释设计模式的高质量视频

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我正在寻找解释设计模式的高质量视频。谁能推荐我可以下载并在我的电脑上观看的视频。我愿意为视频付费。

c# - Memento 模式是如何在 C#4 中实现的?

MementoPattern本身看起来很简单。我正在考虑实现与维基百科示例相同的方法,但在我实现之前,是否有任何C#语言功能可以使其更易于实现或使用? 最佳答案 一个明显的特性是泛型,实现一个泛型纪念品将允许您将它用于任何您想要的对象。您将看到的许多示例都将使用字符串(包括当前对该问题的答复中的所有示例)作为状态,这是一个问题,因为它是.NET中不可变。在处理可变对象时(就像任何具有setter属性的引用类型),您必须记住,当您保存备忘录时,您需要创建对象的深拷贝。否则,每当您更改原始对象时,您都会更改您的纪念品。您可以使用像pro

c# - C# 中的通用空对象模式

我想知道是否有任何方法可以在C#中实现通用空对象模式。通用空对象是所有引用类型的子类,就像Nothing一样。在斯卡拉。好像是publicclassNothing:TwhereT:class但是它无法编译而且我不知道如何实现T的方法提供默认行为或抛出异常。以下是一些想法:使用反射?创建时使用表达式树Nothing?它可能看起来像最小起订量。另一个问题来了:在产品代码中使用模拟框架/库是否可以?使用动态类型?我知道也许我应该为特定类型实现特定的空对象。我只是想知道是否有任何解决方案。有什么建议吗?谢谢。 最佳答案 使用泛型,您不能定义

c# - 存储库模式中的 IQueryable 与 IEnumerable,延迟加载

我读过一些文章,指出IEnumerable用于模拟存储过程或限制您的数据库。失去了对外部提供商的延迟加载能力。IQueryable为开发人员提供了更大的灵active。那里有延迟加载。就性能而言,两者都消耗大量性能..那么哪个更可取? 最佳答案 从RepositoryPattern的角度,可以这样想:如果您想一次性将整个列表传递给客户端,请使用预加载IEnumerable。他们仍然可以添加linq子句,但客户端不会从延迟执行中受益。如果您希望通过允许客户端添加自己的linq子句将延迟查询功能扩展到客户端,请使用延迟加载IQuerya

c# - 什么是 Humble Object 模式,它何时有用?

我正在阅读anarticlebyDinoEspositoonhowtotestAsyncConrollersinASP.NETMVC并且在那里他使用了“不起眼的对象”模式,但没有详细介绍。我在谷歌上也没有太多运气。那么,什么是谦虚对象模式?什么时候有用? 最佳答案 有athoroughdescriptionatxunitpatterns.com.基本上,您将所有逻辑拉到一个单独的对象中,您可以轻松地对其进行测试-而您的“低级对象”将成为您可测试对象的包装器;只是不起眼的对象还依赖于难以测试的事物,例如异步服务或GUI类。这个想法是在

c# - Winforms:在对话框外单击时关闭模式对话框

我有一个打开的模态对话框(Windows窗体)。我想要在对话框外(在父窗体上)单击时关闭对话框。我该怎么做? 最佳答案 您应该将其更改为非模态对话框(使用Show(..)打开它),然后使用Deactivate事件并关闭它。 关于c#-Winforms:在对话框外单击时关闭模式对话框,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4507483/

c# - 无效的正则表达式模式

我在C#中有一段代码用于检查值是否为有效的正则表达式模式。代码很简单:try{System.Text.RegularExpressions.Regex.IsMatch("",pattern);}catch(Exceptionex){return"patternmatchesmustbeavalidregexvalue";}我正在尝试测试它是否正常工作,但我找不到无效的正则表达式模式。有什么建议吗? 最佳答案 这是无效的...[您还可以在http://regexhero.net/tester/实时测试正则表达式的有效性。顺便说一句,您