草庐IT

c# - Guid.NewGuid() 返回重复项?

我们有一个应用程序可以为我们的一项服务生成模拟数据以用于测试目的。每个数据项都有一个唯一的Guid。然而,当我们在对模拟器进行一些小的代码更改后运行测试时,它生成的所有对象都具有相同的Guid。创建了一个数据对象,然后是一个for循环,其中修改了对象的属性,包括一个新的唯一Guid,并通过远程处理将其发送到服务(可序列化,而不是按引用编码,如果这就是你的想法),循环并再次执行,等等。如果我们在循环中放置一个小的Thread.Sleep(...),它会生成唯一的ID。我认为这是一个转移注意力的问题。我创建了一个测试应用程序,它只是一个接一个地创建了一个guid,但没有得到一个副本。我的理

c# - 选择列表框中的第一项

列表框在富文本框中充当自动完成功能,我用集合中的项目填充它。我需要它在每次列表框填充时自动选择第一项。我该怎么做?谢谢foreach(varksinksd.FindValues(comparable)){lb.Items.Add(ks.Value);}if(lb.HasItems){lb.Visibility=System.Windows.Visibility.Visible;lb.SelectedIndex=0;//Suggestedsolution,stilldoesn'twork}else{lb.Visibility=System.Windows.Visibility.Colla

c# - 从类中分解所有依赖项的最简单、最快的方法

在使用遗留代码并尝试创建测试时,我经常从类或方法中分离出依赖关系,这样我就可以使用模拟来为这些依赖关系编写单元测试。依赖性最常见的形式是调用静态类和使用构造函数中的new关键字或该类中的其他位置创建的对象。在大多数情况下,静态调用是通过包装静态依赖项来处理的,或者如果它是StaticClass.Current.MethodCall()形式的单例模式(或类似模式),则通过其接口(interface)传递该依赖项来代替构造函数。在大多数情况下,在构造函数中使用new关键字只是通过在构造函数中传递该接口(interface)来代替。在大多数情况下,在类的其他部分使用new关键字,要么通过与上

c# - TFS 2010 : How to produce a changelog (ie. 工作项列表)在使用标签的应用程序的两个版本之间?

我正在寻找一种在我的应用程序的两个版本之间自动生成变更日志(实际上是工作项列表)的方法。我的应用程序有两个版本,v1和v2,每个版本都由我在构建应用程序设置之前手动创建的TFS2010中的标签(LABEL1和LABEL2)标识。我有一个分支系统,这意味着我有一个主干,大部分错误都已修复,还有一个分支,其中主要使用来自主干的合并来应用补丁(但也有一些仅在分支上不涉及主干的修复).我的应用程序的两个版本(v1和v2)是来自分支的版本。我希望TFS2010能够在这两个标签之间返回已修复的错误列表(即type=Bug的工作项列表已关闭和验证)。我尝试使用TFS2010的WebUI或使用Visu

c# - Entity Framework 7 中是否有 DbSet<TEntity>.Local 等效项?

我需要一个ObservableCollection在EF7中,DbSet.Local似乎不存在;有什么解决方法吗? 最佳答案 当前版本的EntityFramework(RC1-final)没有DbSet.Local特性。但!您可以使用当前的扩展方法实现类似的效果:publicstaticclassExtensions{publicstaticObservableCollectionGetLocal(thisDbSetset)whereTEntity:class{varcontext=set.GetService();vardata=

c# - 是否可以使用 ILMerge 仅合并依赖项的子集?

我正在尝试一些探索性的东西:假设我有一个库“coolproject”,它依赖于one.dll、two.dll和three.dll。我想使用ILMerge将coolproject与one.dll和two.dll结合,但不是three.dll。合并完成后,我应该有coolproject.dll和three.dll。无论我打算在何处使用coolproject.dll,我还必须引用three.dll这可能吗?每当我尝试时,我都会得到。不允许未解析的程序集引用:三个。我通过设置“CopyLocal”=false来省略three.dll。[编辑]:执行如下:ILMerge/targetplatfo

c# - 引用项目时缺少项目依赖项

在VisualStudio中引用项目时,我遇到了一些依赖项问题。以下是我的解决方案ReferenceTest的结构:Common。包含返回字符串的静态CommonClass.HelloWorld()方法的类库。此方法返回的字符串是使用使用NuGet安装的Microsoft.Extensions.Configuration(及其大量依赖项)从JSON配置文件中读取的。ConsoleApplication1。控制台应用程序使用静态Worker.DoWork()方法将CommonClass.HelloWorld()字符串写入控制台。此控制台应用程序具有对Common项目的项目引用。Conso

c# - 如何在 C# 中从 TFS 检索工作项列表?

我正在尝试用WPF/C#编写一个项目报告工具。我想访问我们的TFS(TeamFoundationServer)上的所有项目名称,然后显示给定项目中每个工作项的统计信息。我知道了项目名称,但很难获得实际的工作项。到目前为止,这是我得到的:publicconststringtfsLocation="http://whatever";//getthetoplistofprojectnamesfromtheteamfoundationserverpublicListLoadProjectList(){vartpc=TfsTeamProjectCollectionFactory.GetTeamP

c# - 为什么 C# 允许在集合初始值设定项中使用尾随逗号,但不允许在参数中使用?

有效语法:vartest=newList{"a","b","c",//Validtrailingcomma};语法无效:privatevoidTest(paramsstring[]args){}Test("a","b","c",//Invalidtrailingcomma);这是语法不一致的问题还是经过深思熟虑的决定? 最佳答案 因此,尽管我永远不会知道“真正的”原因,因为我不在编译器团队中,但我还是会尝试一下——而且有人出现的可能性值得怀疑。尾随逗号通常在一些场景中很有用,即合并和代码生成。在诸如集合或属性初始化器和枚举之类的上下

c# - 如何使用 LINQ 在列表中生成重复项?

这是我用过的LINQ查询varresult=(frompriceininventoryDb.Pricing.AsNoTracking()whereprice.Quantity>0mselectnew{TagNo=price.TagNo,SellingRate=price.SellingRate,Quantity=price.Quantity}).ToList();根据Quantity值,我需要在列表中生成重复项。输出:result=[0]{TagNo="100",SellingRate=1500.00,Quantity=1}[1]{TagNo="101",SellingRate=160