草庐IT

c# - .NET 自定义控件 (ToolStripControlHost) 对设计人员造成严重破坏

我需要在ToolStrip中有一个MaskedTextBox,默认情况下不包含它,因此我遵循了我在网上找到的一些建议,并创建了从ToolStripControlHost继承的自定义控件。当我运行应用程序时,我所创建的效果很好,但它确实让设计人员感到困惑。通过“搞砸”,我的意思是自定义控件(连同其他一些控件)从ToolStrip中消失。此外,我无法再向ToolStrip添加新控件,也无法选择ToolStrip上的现有控件来编辑它们。这是我的类(class)。[DesignerCategory("code")][ToolStripItemDesignerAvailability(ToolS

c# - 如何就地对 Collection<T> 进行排序?

我有一个通用集合:publicItems:Collection{protectedoverridevoidInsertItem(intindex,Objectitem){base.InsertItem(index,item);...}protectedoverridevoidRemoveItem(intindex){base.RemoveItem(index);...}protectedoverridevoidSetItem(intindex,Objectitem){base.SetItem(index,item);...}protectedoverridevoidClearItems

c# - 如何对存在于所有限界上下文中并且是应用程序核心部分的实体进行建模?

我正在使用DDD原则制作应用程序。在尽可能多地考虑所有事情之后,我决定开始制作我的限界上下文。我还没有设置最终结构,但截至目前,我的应用程序将包含以下限界上下文:员工管理采购归档报告我希望它尽可能地可插拔,这样我就可以分别开发和维护它们。他们可能会公开WCF或WebAPI以与它们交互。我将使用UdiDahansimplementationofasimpleCQRSpattern.我不想一直使用事件源、消息总线等,因为这不是一个高度协作的应用程序(少于1000个用户,他们不太可能编辑相同的小数据集),这会增加了很多不必要的复杂性。所以问题:Theemployeeanddepartment

c# - 为什么我不能对两个泛型类型参数使用协变?

考虑以下示例:classBase{}classDerived:Base{}classTest1{privateListm_X;publicIEnumerableGetEnumerable(){returnm_X;}}这编译得很好,因为IEnumerable在T中协变.但是,如果我做完全相同的事情,但现在使用泛型:classTest2whereTDerived:TBase{privateListm_X;publicIEnumerableGetEnumerable(){returnm_X;}}编译错误Cannotconvertexpressiontype'System.Collection

C#:如何在 Visual Studio 中查找对特定类的等于运算符的引用

我想为一个类覆盖.Equals和==运算符。我需要检查目前是否在该类的任何地方使用任何相等比较。我该怎么做? 最佳答案 在这两种情况下,我都会添加重载/覆盖,然后使用“FindUsages”(在Resharper中)或“ViewCallHierarchy”(VisualStudionative)。如果出现任何情况,那将是一个变化。另一种方法(如果两者都不可用)是(只是在执行此操作时)将[Obsolete]添加到您添加的覆盖/重载方法中-然后是任何代码开始使用它们(即行为发生变化)将显示为警告。注意:如果覆盖(等于)是已经覆盖等于的继

c# - 对包含字母和破折号的字符串进行排序时出现意外行为

如果我有一些字符串列表包含所有数字和破折号,它们将像这样升序排序:s=s.OrderBy(t=>t).ToList();66-0616280-00066-0616280-10066-0616280100066-06162801040这符合预期。但是,如果字符串中包含字母,排序就有些出乎意料了。例如,这里是相同的字符串列表,其中尾随A替换了0,是的,它已排序:66-0616280-00A66-0616280100A66-0616280104A66-0616280-10A我原以为他们会这样排序:66-0616280-00A66-0616280-10A66-0616280100A66-061

c# - 为什么重用 DataContext 会对性能产生负面影响?

经过fairamountofresearch还有一些errors,我修改了我的代码,以便在每次查询数据库或插入数据时创建一个新的DataContext。并且频繁查询数据库-对于处理的25万笔交易中的每笔交易,在插入交易之前查询数据库以获得客户ID、部门ID和类别。所以现在我正在尝试优化代码,因为它每秒只处理大约15笔交易。我删除了一些无关的查询并添加了一些索引并将其提高到每秒30个。然后我想即使每个人都说DataContext是轻量级的,但每次事务创建一个新的4次还是要花一些钱,所以我尝试重用DataContext。令我惊讶的是,重用上下文会导致性能下降到每秒10个事务!为什么会这样?

c# - 如何以编程方式按多列对 UltraGrid 进行排序?

假设我们有一个UltraGrid。如何以编程方式首先按A列、B列和C列对其进行排序。谢谢! 最佳答案 文档在这里:http://help.infragistics.com/Help/Doc/WinForms/2011.2/CLR2.0/html/Infragistics2.Win.UltraWinGrid.v11.2~Infragistics.Win.UltraWinGrid.UltraGridBand~SortedColumns.html您可以只设置排序指示器(顺序很重要),代码取自上面的链接:UltraGridBandband=

c# - 使用 Linq 在对象集合上运行一个方法?

这是一个远景,我知道......假设我有一个收藏Listobjects;我想对集合中的每个对象运行相同的方法,有或没有返回值。在Linq之前我会说:Listresults=newList();ListFormulaResults=newList();foreach(MyClassobjinobjects){results.Add(obj.MyMethod());FormulaResults.Add(ApplyFormula(obj));}我喜欢能够做这样的事情:Listresults=newList();results.AddRange(objects.Execute(obj=>obj

c# - 对资源和 GetManifestResourceNames() 感到困惑

我一直在学习C#和可视化C#IDE中的资源。我现在很困惑。我已经阅读了StackOverflow上的一些页面,例如这个how-to-get-the-path-of-an-embebbed-resource和Microsoft的文档,但它让我感到困惑。我的第一个问题:什么是资源:它是.resources文件还是其中的文件,例如图标。第二:当我使用GetManifestResourceNames方法时:我是获取.resources文件名还是其中的文件名。当我在我的程序中使用它时,我只得到.resources文件,但是阅读像这样的主题loop-through-all-the-resource