草庐IT

所有的

全部标签

c# - 查找所有父类型(包括基类和接口(interface))

我希望能够找到特定类型的所有父类型(基类和接口(interface))。EG如果我有classA:B,C{}classB:D{}interfaceC:E{}classD{}interfaceE{}我想知道A是BCDandEandObject最好的方法是什么?有没有一种反射(reflection)方法可以做到这一点,或者我需要自己做点什么。====编辑====是这样的吗?publicstaticIEnumerableParentTypes(thisTypetype){foreach(Typeiintype.GetInterfaces()){yieldreturni;foreach(Typ

c# - 将所有 child 放到一个列表中 - 递归 C#

C#|.NET4.5|EntityFramework5我在EntityFramework中有一个类,如下所示:publicclassLocation{publiclongID{get;set;}publiclongParentID{get;set;}publicListChildren{get;set;}}ID是位置的标识符,ParentID将其链接到父位置,而Children包含父位置的所有子位置。我正在寻找一种简单的方法,可能是递归的,将所有“位置”及其子项都放到一个包含Location.ID的列表中。我在递归地概念化这个问题时遇到了麻烦。感谢您的帮助。这是我目前所拥有的,它是对实

c# - 如何将文件添加到现有的 zip 存档

如何将一些文件(几乎总是一个.csv文件)添加到现有的zip文件中? 最佳答案 由于您使用的是.NET4.5,因此可以使用ZipArchive(System.IO.Compression)类来实现此目的。这是MSDN文档:(MSDN)。这是他们的示例,它只是写入文本,但您可以读入.csv文件并将其写出到您的新文件中。要仅复制文件,您可以使用CreateFileFromEntry,它是ZipArchive的扩展方法。using(FileStreamzipToOpen=newFileStream(@"c:\users\exampleus

c# - 是否有一个 .Net 内存分析器可以跟踪大对象堆上的所有分配?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。3年前关闭。Improvethisquestion我尝试过的大多数.NET内存分析器都允许您拍摄内存快照。但是,我正在尝试诊断一个问题,即我最终分配给.NET的大量内存被ANTS分析器指示为“空闲”。(我已经用MemProfiler和CLRProfiler等其他分析器确认了这个问题。ANTS显示我有大量内存碎片(100%的空闲内存,最大块为150MB。)堆中所有对象的总大小为180MB。我有553MB分配给.NET,152MB分配给“非

c# - 如何从命令行整合所有适用的项目和 nuget 包?

我正在合并两个解决方案,现在有以下情况这是一个大项目,合并一个包需要足够的时间。巩固26,我会在这里一整天。有没有办法批量合并,这样我就可以去吃午饭,回来后就可以完成? 最佳答案 关于评论,我将在此处发布我的解决方案。它是一个更大工具的一部分,所以我会在这里发布关键类,将它连接在一起应该非常简单。已安装的软件包(您可能会使用较新的版本):"NuGet.Core":"2.12.0-rtm-815","NuGet.Packaging":"3.5.0-beta2-1484","NuGet.ProjectManagement":"3.5.0

c# - 获取系统上安装的所有 Access ACE.OLEDB 驱动程序的列表

使用下面的代码我可以枚举在我的系统上注册的OLEDB提供者staticvoidDisplayData(){varreader=OleDbEnumerator.GetRootEnumerator();varlist=newList();while(reader.Read()){for(vari=0;i它返回驱动程序列表(我们对Access驱动程序感兴趣),但有一个警告..针对.net4.5它包含:SOURCES_NAME=Microsoft.ACE.OLEDB.15.0但是当项目是针对.net4.0构建时,输出是:SOURCES_NAME=Microsoft.ACE.OLEDB.12.0

c# - 在 C# 中跟踪所有对象引用

是否可以在VisualStudio中调试时列出对象的所有引用。我正在使用C#。我正在寻找类似于GC在垃圾收集期间所做的事情。 最佳答案 SOS可以为您做到这一点。它没有集成到调试器中,但您可以将它附加到正在运行的进程中。您可能会发现使用SOSAssist比学习控制台语法更有帮助。IIRC:!dumpheap–type{type} 关于c#-在C#中跟踪所有对象引用,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

c# - 如何将 Web API Controller 添加到现有的 ASP.NET Core MVC?

我使用默认的ASP.NETCoreMVC模板创建了一个项目。我还想在/api/{Controller}下创建一个RESTfulAPI。我添加了一个新的WebAPIController(标准WebAPIController类模板),但我无法调用它。我收到一条错误消息,指出无法找到该页面。我尝试在Startup.cs中添加路由,但它没有执行任何操作:app.UseMvc(routes=>{routes.MapRoute(name:"default",template:"{controller=Home}/{action=Index}/{id?}");routes.MapRoute(name

c# - 如何以编程方式在 C# 中查找所有可用的波特率(serialPort 类)

有没有办法找出特定的所有可用波特率系统支持通过C#?这可以通过设备管理器-->端口获得但我想以编程方式列出这些。 最佳答案 我找到了几种方法来做到这一点。以下两个文件是起点http://support.microsoft.com/default.aspx/kb/99026http://msdn.microsoft.com/en-us/library/aa363189(VS.85).aspx线索在第一个文档的以下段落中Thesimplestwaytodeterminewhatbaudratesareavailableonapartic

c# - 是否应该重写所有接口(interface)以返回 Task<Result>?

我有一个简单的界面publicinterfaceSomethingProvider{publicSomethingGetSomething();}为了“使”它异步,我会这样做publicinterfaceSomethingProvider{publicTaskGetSomethingAsync();}虽然接口(interface)现在暗示GetSomething是异步的,但它允许同步执行,如果同步结果足够快,这很好。如果它阻塞,那么我可以将责任归咎于实现程序员对接口(interface)的不良实现。因此,如果后一个接口(interface)由足够快的阻塞实现来实现,则后一个接口(int