草庐IT

interface-design

全部标签

c# - 您如何快速找到接口(interface)方法的实现?

这个问题在这里已经有了答案:Howdoyoufindallimplementationsofaninterface?(12个答案)关闭9年前。有没有一种快速的方法可以找到接口(interface)的方法/属性/等的所有实现,而不是引用?下面是一些示例代码:publicclassSomeClass:IBaseClass{publicInt32GetInt(){return1;}}publicinterfaceIBaseClass{publicInt32GetInt();}publicclassSomeOtherClass{IBaseClass_someClass;privateTestM

c# - C# 中基于接口(interface)编程的运算符重载

背景我在当前项目中使用基于接口(interface)的编程,在重载运算符(特别是等式和不等式运算符)时遇到了问题。假设我正在使用C#3.0、.NET3.5和VisualStudio2008更新-以下假设是错误的!要求所有比较都使用等于而不是运算符==不是一个可行的解决方案,尤其是在将类型传递给库(例如集合)时。我担心要求使用Equals而不是operator==的原因是我在.NET指南中找不到任何地方声明它会使用Equals而不是operator==甚至建议它。然而,重读后GuidelinesforOverridingEqualsandOperator==我发现了这个:Bydefaul

c# - C# 中基于接口(interface)编程的运算符重载

背景我在当前项目中使用基于接口(interface)的编程,在重载运算符(特别是等式和不等式运算符)时遇到了问题。假设我正在使用C#3.0、.NET3.5和VisualStudio2008更新-以下假设是错误的!要求所有比较都使用等于而不是运算符==不是一个可行的解决方案,尤其是在将类型传递给库(例如集合)时。我担心要求使用Equals而不是operator==的原因是我在.NET指南中找不到任何地方声明它会使用Equals而不是operator==甚至建议它。然而,重读后GuidelinesforOverridingEqualsandOperator==我发现了这个:Bydefaul

c# - LINQ to Entities 仅支持使用 IEntity 接口(interface)转换 EDM 原语或枚举类型

我有以下通用扩展方法:publicstaticTGetById(thisIQueryablecollection,Guidid)whereT:IEntity{Expression>predicate=e=>e.Id==id;Tentity;//Allowreportingmoredescriptiveerrormessages.try{entity=collection.SingleOrDefault(predicate);}catch(Exceptionex){thrownewInvalidOperationException(string.Format("Therewasanerr

c# - LINQ to Entities 仅支持使用 IEntity 接口(interface)转换 EDM 原语或枚举类型

我有以下通用扩展方法:publicstaticTGetById(thisIQueryablecollection,Guidid)whereT:IEntity{Expression>predicate=e=>e.Id==id;Tentity;//Allowreportingmoredescriptiveerrormessages.try{entity=collection.SingleOrDefault(predicate);}catch(Exceptionex){thrownewInvalidOperationException(string.Format("Therewasanerr

c# - 为什么静态类不能实现接口(interface)?

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicate:WhyDoesn’tC#AllowStaticMethodstoImplementanInterface?在我的应用程序中,我想使用一个将执行原始数据访问的存储库(TestRepository、SqlRepository、FlatFileRepository等)。因为这样的存储库将在我的应用程序的整个运行时使用,所以对我来说将其设为静态类似乎是明智的,这样我就可以去SqlRepository.GetTheThingById(5);无需一直重新生成它。因为我希望我的存储库可以互换,所以我希望它们实现一个通用接口

c# - 为什么静态类不能实现接口(interface)?

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicate:WhyDoesn’tC#AllowStaticMethodstoImplementanInterface?在我的应用程序中,我想使用一个将执行原始数据访问的存储库(TestRepository、SqlRepository、FlatFileRepository等)。因为这样的存储库将在我的应用程序的整个运行时使用,所以对我来说将其设为静态类似乎是明智的,这样我就可以去SqlRepository.GetTheThingById(5);无需一直重新生成它。因为我希望我的存储库可以互换,所以我希望它们实现一个通用接口

c# - 使用 ReSharper 将方法提取到现有接口(interface)

我正在向实现接口(interface)的类中添加一个新方法,我喜欢使用“提取接口(interface)”重构并将方法添加到接口(interface)中。但ReSharper似乎不支持向现有接口(interface)添加方法签名。感觉好像我错过了什么,我确信它可以以某种方式完成。也许我应该先将方法签名添加到接口(interface)中,但有时我就是这样工作的。我是否遗漏了一些快捷方式、功能或错误地使用了ReSharper? 最佳答案 Ctrl+Shift+R访问重构菜单,然后选择PullMembersUp...您可以选择要将声明添加到

c# - 使用 ReSharper 将方法提取到现有接口(interface)

我正在向实现接口(interface)的类中添加一个新方法,我喜欢使用“提取接口(interface)”重构并将方法添加到接口(interface)中。但ReSharper似乎不支持向现有接口(interface)添加方法签名。感觉好像我错过了什么,我确信它可以以某种方式完成。也许我应该先将方法签名添加到接口(interface)中,但有时我就是这样工作的。我是否遗漏了一些快捷方式、功能或错误地使用了ReSharper? 最佳答案 Ctrl+Shift+R访问重构菜单,然后选择PullMembersUp...您可以选择要将声明添加到

Altium designer快捷设计技巧——查找相似对象

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档软件:AD21一、背景和目的对元器件单个修改属性费时费力。二、步骤1.选中需要修改的其中一个元器件,右键打开菜单,点击查找相似对象; 2.按照条件筛选相似对象,将Any改成Same;点击确定后,同一类型的器件会进入高亮状态。3.使用shift+左键一一选中所有高亮显示的器件,在右侧弹出的SchInspector中修改属性。 4.退出高亮模式后(shift+c),可以看到原先的属性已经被批量替换。   三、总结利用相似对象替换可以快速完成批量替换。