草庐IT

递归实现

全部标签

c# - 为什么我不能以这种方式实现接口(interface)?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:DoesC#supportreturntypecovariance?我不确定我是不是太傻了...如果我有一个接口(interface):publicinterfaceIMoop{objectMoop();}为什么我不能像这样实现它(我猜这会使用隐式协方差?)publicclassMoopImplementor:IMoop{stringMoop();}MoopImplementor的任何实例都将满足IMoop指定的契约,因此看起来这应该没问题。请赐教:)编辑:要清楚-因为实现类返回继承自接口(interface

c# - 使用 Entity Framework Fluent 语法或内联语法编写递归 CTE

我不熟悉SQL和EntityFramework(ADO.NET实体映射)中的这种递归。我正在处理评论管理,其中有一个Comments表,该表包含列NewsID、CommentID、ParentCommentID、IndentLevel、CreatedTime。我正在尝试获取特定新闻项的评论列表,其中所有评论都是根据父项下的子项和创建时间排列的,如下所示:CommentID|time|ParentCommentIDGuid1|t1|nullGuid4|t4|Guid1Guid2|t2|nullGuid3|t3|Guid2必须优先考虑子父关系,然后是创建时间。到目前为止我学到的是(来自互联

c# - Entity Framework 6 code first - 通过注解实现多对多的一种方式

是否可以在EntityFramework6中使用代码优先和注释创建单向多对多关联?示例:classCurrency{publicintid{get;set;}}classCountry{publicintid{get;set;}//HowicanannotatethispropertytosayEFthatitismany-to-many//anditshouldcreatemappingtable?//Idon'tneednavigationpropertytoCountryinCurrencyclass!publicvirtualIListcurrencies{get;set;}}

c# - 在 C# 中公开实现绳索?

是否有Rope的公开实现?C#中的数据结构? 最佳答案 无论其值(value)如何,hereisanimmutableJavaimplementation.您可能会在不到一个小时内将其转换为C#。 关于c#-在C#中公开实现绳索?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1862703/

c# - 编译器说我没有实现我的接口(interface),但我实现了?

好的,我有两个命名空间。一个包含我的接口(interface),一个包含实现类。像这样:namespaceProject.DataAccess.Interfaces{publicinterfaceIAccount{stringSomeMethod();}}namespaceProject.DataAccess.Concrete{classAccount:Project.DataAccess.Interfaces.IAccount{stringSomeMethod(){return"Test";}}}使用这段代码我得到一个错误:'Project.DataAccess.Concrete.A

c# - 子类可以实现与其父类相同的接口(interface)吗?

我今天之前从未遇到过这个问题,想知道实现这种行为的约定/最佳实践是什么。基本设置是这样的:publicinterfaceIDispatch{voidDispatch();}publicclassFoo:IDispatch{voidIDispatch.Dispatch(){DoSomething();}}publicclassBar:Foo{...}Bar需要子类化Foo,因为它与Bar共享所有相同的属性,并且引入了2个我需要遇到的新属性。我遇到的问题是Foo还需要一个稍微不同的Dispatch()实现。通常它会被重写,但这对接口(interface)方法无效,所以让Bar也实现IDis

c# - 递归 LINQ 查询 : select item and all children with subchildren

有没有什么方法可以编写一个LINQ(或过程式)查询,它可以通过一个查询选择一个项目和所有子项?我有实体:publicclassComment{publicintId{get;set;}publicintParentId{get;set;}publicintText{get;set;}}我有一个ID,所以我想选择带有ID的Comment及其所有子项和子项。示例:1-2--3-4-5--623如果ID==1那么我想要1,2,3,4,5,6的列表。 最佳答案 publicclassComment{publicintId{get;set;}

c# - 结构图 - 同一接口(interface)的两个实现

我有一个具有以下ctor的服务类:publicclass(IMessageServiceemailService,IMessageServicesmsService){...}和IMessageService的两个实现(电子邮件和短信)。如何配置容器以正确解析此构造函数?这是命名实例的用武之地,还是另一种情况? 最佳答案 您可以使用命名实例或智能实例来解决这个...//Namedinstancesthis.For().Use().Named("emailService");this.For().Use().Named("smsSer

c# - 继承 List<T> 来实现集合是个坏主意吗?

我曾经读过ImaarSpaanjars的一篇关于如何构建3层应用程序的文章。(http://imar.spaanjaars.com/416/building-layered-web-applications-with-microsoft-aspnet-20-part-1)这已经成为我编码的基础了一段时间。因此我像他一样通过继承List来实现集合.因此,如果我有一个名为Employee的类,为了实现一个集合,我还将有一个Employees类,如下所示。classEmployee{intEmpID{get;set;}stringEmpName{get;set;}}classEmployee

c# - Array.Copy 在 C# 中是如何实现的?

我尝试使用ILSpy在C#中查看Array.Copy的实现,但它没有向我展示实现本身。我写了一个简单的基准测试,Array.Copy与一个简单的for循环来复制数据。Array.Copy更快。如何更快地实现?谢谢,谢伊 最佳答案 反汇编Array类将使您得到这个声明:[MethodImpl(MethodImplOptions.InternalCall),SecurityCritical,ReliabilityContract(Consistency.MayCorruptInstance,Cer.MayFail)]internalst