草庐IT

Batch模式

全部标签

c# - 如何在不关闭的情况下将 "Hide()"模式 WPF 窗口?

我有一个在后台线程上运行的WPF窗口,作为一种“通知程序窗口”...当引发事件时,它会显示一条消息...用户单击“贪睡”按钮,我调用this.Visibility=Visibility.Collapsed我隐藏窗口的那一刻(通过调用this.Hide()或如上所述设置Visibility)...“ShowDialog()"代码释放并关闭窗口。这绝对是WPF代码中的错误(我已通过反射器识别)...但我的问题仍然存在。有没有人能够想出解决此问题的方法?我已经尝试了很多东西,现在正在向你们这些聪明的人伸出援手:) 最佳答案 您无法隐藏模态

c# - MVC 模式差异

我只需要一些指向我可以阅读的文章的链接,或者一些关于MVC(C#)中使用的不同模式的基本解释。目前我倾向于使用View模型模式来构建我的网络应用程序。对于每个View,我都有一个View模型。我喜欢这种方法纯粹是因为模型中可能有很多不需要的垃圾,我可以在这里使用一些基本的数据注释。我现在还在View模型本身内构建我的View模型(不确定这是否正确?)这样我就可以让我的Controller尽可能简单。但有时我发现自己在我的Controller中添加了很多逻辑,我认为这对我来说也很好,这就是Controller的用途。现在,正如我所说,基于以上内容,我可以非常愉快地构建我的应用程序,而不会

c# - 具有许多属性的类的装饰器模式

我有这个简单的类:publicclassDataBag{publicstringUserControl{get;set;}publicstringLoadMethod{get;set;}publicdynamicParams{get;set;}publicintHeight{get;set;}publicDataBag(stringControl,objectvars,stringlm){UserControl=Control;LoadMethod=lm;Params=vars;Height=0;}}然后我想为它创建一个装饰器,它会添加一堆它自己的属性。问题是提供对装饰属性的访问的最简

c# - 是否有可能以 mvvm 模式在 wpf datagrid 上获取动态列?

我正在用wpf开发一个产品(使用MVVM模式)。根据用户的自定义(用户将选择列),我必须将一组数据显示到数据网格中。目前,我正在将具有一组属性的ObservableCollection绑定(bind)到数据网格的ItemSource。这将我限制为固定的列大小。注意:列出n个列名供用户选择。如果它在后面的代码中完成,则通过“datagrid.columns.add()”很容易。在这种情况下,任何人都可以帮助我吗。我的xaml:我的命令类:publicstaticclassDataGridExtension{publicstaticObservableCollectionGetColumn

c# - 没有访客模式的动态调度

问题我正在使用一个已经存在的库,我无法访问它的源代码。这个库代表一个AST。我想复制此AST的部分内容,但在此过程中重命名对变量的引用。因为可以有一个AssignCommand-Object,它包含一个Expression-object,我希望能够用它自己的函数复制每个对象,这样我就可以递归地调用它们。但是,由于我无权访问库的代码,因此我无法添加诸如CopyAndRename(stringprefix)之类的方法。.因此,我的方法是创建一个函数Rename有几个重载。因此,我将有一个家庭功能如下:publicstaticCommandRename(Commandcmd,stringpr

c# - 如何在不使用服务定位器模式的情况下访问 Ninject.Kernel

我已经阅读了许多关于这个主题的帖子,但没有找到关于如何在不使用服务定位器模式的情况下访问Ninject.Kernel的明确指南。我目前在需要使用的类中有以下内容CustomerBusiness(这是我的服务)并且它工作正常,但我很清楚这不是推荐的做法。privateCustomerBusiness_customerBusiness;privateICustomerRepositoryCustomerRepository{get{returnNinjectWebCommon.Kernel.Get();}}privateCustomerBusinessCustomerBusiness{ge

c# - SQLCMD模式下的ServerConnection.ExecuteNonQuery

我正在使用MicrosoftData-TierApplicationframework基于DacPackage创建部署脚本目的。我正在尝试使用Microsoft.SqlServer.Management.Smo.Server执行此脚本的类...SqlConnectiondeployConnection=newSqlConnection(connBuilder.ToString());deployConnection.Open();Serverserver=newServer(newServerConnection(deployConnection));server.Connection

c# - 哪个 C# 模式具有更好的性能来避免重复的事件处理程序?

基本上有两种模式可以避免重复注册事件处理程序:(根据这个讨论:C#patterntopreventaneventhandlerhookedtwice)使用System.Linq命名空间,并通过调用GetInvocationList().Contains(MyEventHandlerMethod);检查事件处理程序是否已注册注册前先注销,如下:MyEvent-=MyEventHandlerMethod;MyEvent+=MyEventHandlerMethod;我的问题是,就性能而言,哪个更好,或者它们之间在性能上有显着差异吗? 最佳答案

c# - 在C#中使用 'dynamic'实现访客模式

我有一个应用程序,我在其中对一系列元素执行操作,操作的确切性质取决于所操作元素的类型。由于封装的原因,不宜由元素来实现操作;这意味着它不能是元素类型的虚拟方法,因此“标准”多态性不起作用。我提出了previousquestion与此相关,并被告知这被称为访问者模式。我以前总是根据对象的类型使用if/elseif调度程序方法来实现它,然后调用适当的实现。然而,最近,我注意到使用dynamic关键字也可以完成同样的事情,如下所示:privatevoidReconcileTips(){foreach(varstepin_definition.Steps){ReconcileTips((dyn

c# - C# 中多线程网络服务器的模式

在设计多线程服务器时,是否有我可以遵循的模板/模式/指南?通过我的谷歌搜索,我在网上找不到任何非常有用的东西。我的程序将启动一个线程以使用TcpListener监听连接。每个客户端连接都将由它自己的IClientHandler线程处理。服务器会将clientHandler.HandleClient包装在委托(delegate)中,调用BeginInvoke,然后不再关心它。我还需要能够干净地关闭监听线程,这是我在网上找不到的很多示例。我假设锁定/AutoResetEvents/线程魔法与异步BeginAceptTcpClient和EndAcceptTcpClient的一些组合会让我到达