草庐IT

c# - 方法声明的返回类型应该是接口(interface)还是具体类?

在一般情况下,接口(interface)或抽象类通常是合适的决定,对吗?但在某些情况下,具体类看起来更好。例如,publicstringReplace(stringold,stringnew)String的Replace方法返回一个具体类。(这只是一个例子,虽然String没有实现任何接口(interface)。)我的问题是什么时候返回接口(interface),什么时候返回具体类?它是返回接口(interface)的程序的一部分,而不是实现吗? 最佳答案 视情况而定。这个问题我已经看过好几次了,这里有一个很好的例子来说明“视情况而

c# - 您应该为接口(interface)、具体实现或两者编写 XML 注释吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我对应该在哪里应用我的XML注释感兴趣。我是否应该在接口(interface)中放置一个更通用的XML注释,而在实现类中放置一个更具描述性的注释?像这样:publicinterfaceIObjectRepository{//////ReturnsanobjectfromtherespositorythatcontainsthespecifiedID.///ObjectGetObject(i

c# - var 与具体类型用法

这个问题在这里已经有了答案:UseofvarkeywordinC#(86个答案)Differencebetween"var"and"object"inC#[duplicate](6个答案)WhydoesReSharperwanttouse'var'foreverything?[duplicate](23个回答)关闭9年前。我已经在stackoverflow中检查了5个或更多关于var使用的帖子,但我仍在寻找关于var使用的答案。我习惯使用具体类型而不是var,但我的Resharper提示要更改为var。var是类型的选择-即使具体类型已知?

c# - 从具体化 'System.Guid' 类型到 'System.Int32' 类型的指定转换无效

从物化“System.Guid”类型到“System.Int32”类型的指定转换无效。我们有几个WCF服务,它们具有Multiple并发模式和Single的InstanceContextMode。我们的架构专注于使用基于构造函数的依赖注入(inject)的松散耦合模型。这又是使用Unity2.0实现的(每个服务的web.config都在统一容器部分中定义的接口(interface)和类型之间进行映射)。我们的依赖项之一是使用EntityFramework4与MSSqlServer通信的DAL程序集(数据访问层)。与数据库对话的类也包含在统一映射中。当我们运行集成测试时,一切都很好。但是

c# - 无法分配给委托(delegate)具有不太具体的参数类型的匿名方法

我能够分配一个方法M来委托(delegate)对象d具有不太具体的参数类型,但是当我想分配一个具有相同签名的匿名方法时作为M到d的方法,我得到一个错误。这是为什么?classderivedEventArgs:EventArgs{}delegatevoidnewDelegate(objecto,derivedEventArgse);staticvoidMain(string[]args){newDelegated=M;//okd=(objecto,EventArgse)=>{};//error}publicstaticvoidM(objecto,EventArgse){}

c# - 使用具体类型而不是接口(interface)在性能方面是否更好

我遇到了一些规则(建议)来使用具体的List和Dictionary而不是IList和IDictionary,鉴于显示通过界面访问的示例测试要慢得多。例如,将10000个值添加到列表,然后对列表执行Count10亿次表明通过接口(interface)执行此操作比通过具体类执行慢28倍。也就是说,通过具体类需要80毫秒,通过接口(interface)需要2800毫秒,这表明通过接口(interface)的速度真的很慢。鉴于此,使用具体类是合理的。界面这么慢是有原因的吗?(可能更针对那些更了解.net内部结构的人)。 最佳答案 我认为如果

c# - 为什么返回集合接口(interface)而不是具体类型?

这个问题在这里已经有了答案:ListorIList[closed](18个答案)关闭8年前。我在其他人的代码中注意到,返回通用集合的方法几乎总是返回一个接口(interface)(例如IEnumerable或IList)而不是具体的实现。我有两个相关的问题。首先,为什么(如果有的话)返回接口(interface)更好?其次,是否有包含Sort方法的集合接口(interface)(如List那样)?

c# - 如何使用最小起订量测试抽象类中的具体方法?

过去,当我想模拟一个抽象类时,我只是在扩展抽象类的代码中创建一个模拟类,然后在我的单元测试中使用该类...publicabstractclassMyConverter:IValueConverter{publicabstractObjectConvert(...);publicvirtualObjectConvertBack(...){...}}privatesealedclassMockedConverter:MyConverter{...}[TestMethod]publicvoidTestMethod1(){varmock=newMockedConverter();varexpe

c# - 为什么内置异常消息往往没有具体细节? (例如字典中的键)

我确定我已经在框架的各种异常消息中看到了这一点。我从MSDN库中查看了以下页面,但找不到有关消息内容的太多指导:ExceptionThrowingErrorMessageDesignException.MessageProperty第一页中唯一可以解释它的部分是这段文字:Donotdisclosesecurity-sensitiveinformationinexceptionmessageswithoutdemandingappropriatepermissions.这是Dictionary.Addmethod抛出的ArgumentException|这让我想起了这个问题。它看起来像这

Simulink永磁同步电机控制仿真:单电阻采样时序及具体实现

前言:在对产品体积及成本有较高要求时,单电阻电流采样方案foc进入我们的视野。理论上,单电阻电流采样方案可以实现和二电阻、三电阻电流采样同样的效果,唯一美中不足的是,单电阻电流采样方案没办法实现高调制比,不过这并不影响单电阻电流采样方案的广泛应用。本文从单电阻电流采样原理出发,深入分析相关理论及时序,并通过simulink仿真实现相关算法。文末提供仿真文件的下载链接1、单电阻采样原理母线电流能够反映三相电流。三相电桥示意图如下,电流采样电阻放在母线负端,电路工作在逆变工况时,可以将电路工作状态分为如下四种状态。三个下桥导通,没有上桥导通二个下桥导通,一个上桥导通一个下桥导通,二个上桥导通没有下