草庐IT

Batch模式

全部标签

c# - 使用通配符检查文件名搜索模式中的冲突

我需要通过检查/比较表达式来比较文件系统通配符表达式以查看它们的结果是否重叠。例如,我们正在构建一个实用程序,它可以根据文件系统通配符表达式将一个(或多个位置)的文件分类到单独的文件夹中。例如:*.txt进入文件夹a,*.doc进入文件夹b,等等。我们支持的通配符是*和?我希望能够通过分析通配符表达式来确定它们是否会冲突/重叠。例如,如果我有以下表达式:*.x.y*.y它们会冲突(重叠),因为第二个表达式*.y会包含*.x.y结果。(例如A.x.y将匹配两个表达式)我通过使用所有表达式构建树结构来解决这个问题,我认为如果表达式冲突,构建树的行为就会失败。Forexample:*.xa.

c# - 验证检查在存储库模式中的什么位置?

假设我有一个名为User的实体,它有很多帖子。对于删除帖子,我的服务如下所示:voidDeletePost(intpostId,intuserId);我的验证码去哪儿了?(确保用户有删除权限)。我应该在存储库中使用1个数据库调用来执行此操作吗?或者我应该在我进行2次调用的服务层中执行此检查:通过userId获取用户。在对用户完成验证后调用delete。我将有2个存储库,1个用于用户,1个用于帖子,每个都如下所示://FromthePostRepository.voidDelete(intpostId);//MayhavetoaddauserIdparamifIdovalidationi

c# - 检查形状之间碰撞的设计模式

我使用各种形状进行碰撞检测(Rectangle、Circle、Cone、Ring等)所有这些形状派生自基本抽象Shape类。我的游戏对象具有Shape类型的属性。classGameObject{(...)publicShapeCollisionShape{get;set;}}在初始化过程中,我决定每个对象将使用什么形状,例如:GameObjectperson=newGameObject();person.CollisionShape=newCircle(100);//100isradius现在,当我想检查两个对象是否相交时,我使用以下类:publicclassIntersectionC

c# - 将事件转换为任务的可重用模式

我想为wrappingEAPpatternastask准备一段通用的可重用代码,类似于Task.Factory.FromAsync的东西为BeginXXX/EndXXXAPMpattern做.例如:privateasyncvoidForm1_Load(objectsender,EventArgse){awaitTaskExt.FromEvent(handler=>this.webBrowser.DocumentCompleted+=newWebBrowserDocumentCompletedEventHandler(handler),()=>this.webBrowser.Naviga

RabbitMq五种模式代码案例及使用详解

目录RabbitMQ简介:准备环节:1.简单模式:Hello_world生产者代码消费者代码抽取工具类2.工作模式:work_queues生产者代码:发送10条消息创建两个消费者(代码相同): 3.订阅模式:pub/sub生产者代码:消费者一:接收消息保存至数据库消费者二:接收消息打印至控制台 4.路由模式:Routing生产者代码:消费队列一(error)消费者二(info,error,warning) 5.通配符模式:Topics生产者代码:消费者一(队列:test_topic_queue1)消费者二(队列:test_topic_queue2)SpringBoot整合RabbitMq生产者

c# - 如何禁用在 Debug模式下嵌入的 Costura.Fody 资源?

我正在使用Costura.Fody将所有dll嵌入到我的应用程序程序集中。有没有办法在调试构建模式下禁用Costura.Fody?如何使Costura.Fody仅在发布或自定义构建配置中工作? 最佳答案 一种解决方案可能是检查您的.csproj文件并向与Fody相关的行添加条件。像这样:当然,这主要针对您不希望任何Fody扩展在某些构建环境中运行的简单用例。 关于c#-如何禁用在Debug模式下嵌入的Costura.Fody资源?,我们在StackOverflow上找到一个类似的问题:

c# - 在基于事件的异步模式上使用任务并行库

我正在编写一个网络应用程序。消息是这样通过传输发送的:Network.SendMessage(newFirstMessage());我可以注册一个事件处理程序,以便在该消息类型到达时调用,如下所示:Network.RegisterMessageHandler(OnFirstMessageReceived);事件被触发:publicvoidOnFirstMessageReceived(EventArgse){}我正在为我的网络应用程序编写一个自定义身份验证过程,它需要大约五条消息才能完成。如果不使用任务并行库,我将不得不在前面的事件处理程序中编写每个过程的下一步代码,如下所示:publi

c# - 数据访问层的设计模式

您可能会觉得这是作业,对此我很抱歉。我进行了搜索,但找不到合适的答案。所以我的问题是:我有几个类,每个类都有一个保存方法。所以我为数据库处理创建了一个单独的类。namespaceHospitalMgt.Data{publicstaticclassDBConnection{publicstaticstringconstr="DataSource=ABD;InitialCatalog=HospitalMgt;UserId=sa;Password=123";publicstaticSqlConnectioncon;//publicstaticSqlCommandcom;publicstati

C# 通用接口(interface)和工厂模式

我正在尝试创建一个通用接口(interface),其中一个方法的参数类型由通用定义编辑在意识到我可能通过在Factory创建方法中指定类型参数混淆了问题后,我稍微更改了问题。我所拥有的是我需要对第3方API进行的两种类型的API调用。第一个使用int类型的Id从API检索记录。第二个也从API检索记录,但Id是一个字符串(guid)。我为每种记录类型(ClientEntity和InvoiceEntity)都有一个类,它们都实现了一个通用接口(interface),我在其中传入了Id类型这是我在其中声明一个带有id参数的方法的接口(interface)publicinterfaceIGe

c# - 满足开放/封闭原则的工厂模式?

我有以下具体的Animal产品:Dog和Cat。我正在使用parameterizedFactorymethod创造所述产品。根据传递给Factory方法的AnimalInfo参数,将创建一个具体的产品。映射逻辑放在工厂方法中。这是我的代码:publicabstractclassAnimalInfo{publicabstractStringSound{get;}}publicclassDogInfo:AnimalInfo{publicoverridestringSound{get{return"Bark";}}}publicclassCatInfo:AnimalInfo{publicov