jjzjj

conventions

全部标签

c# - 仅从指定的命名空间解决依赖关系

我可以用这条语句自动注册所有实现接口(interface)的类型IUnityContainercontainer=newUnityContainer();container.RegisterTypes(AllClasses.FromAssembliesInBasePath(),WithMappings.FromMatchingInterface,WithName.Default,WithLifetime.Transient);ICustomerresult=container.Resolve();如何为接口(interface)和实现指定命名空间?即:只有Framework.Repos

c# - 我可以在 c# .NET 中强制使用 'this' 关键字吗?

有没有办法在引用当前实例成员时在VisualStudio中强制使用this关键字?构造函数中存在错误的示例:classMyClass{publicobjectFoo{get;set;}publicMyClass(objectfoo){Foo=Foo;//thisshouldofcoursebelowercasebutit'seasytomiss}}此代码稍后可能会在某处生成臭名昭著的“对象引用未设置为对象的实例”异常。如何让它工作但仍然很容易错过:classMyClass{publicobjectFoo{get;set;}publicMyClass(objectfoo){Foo=foo

c# - 使用 getter 和 setter 声明私有(private)属性有什么好处吗?

我正在审查另一个开发人员的代码,他为类级别变量编写了很多类似于以下内容的代码://////howoftentocheckformessages///privateintCheckForMessagesMilliSeconds{get;set;}//////applicationpath///privatestringAppPath{get;set;}由于变量是私有(private)的,以这种方式编码不会增加不必要的开销吗?我不是在考虑私有(private)变量需要这种编码模式的情况吗? 最佳答案 这就像说私有(private)方法没

c# - 我应该使用哪种返回方式?

这与C#中使用的约定有关。我有一个方法有两个参数(X和Y坐标)。这些坐标表示“瓦片”可能驻留的位置。如果图block位于这些坐标处,则该方法返回其编号。如果这些坐标上没有图block,我想知道该方法应该如何运行。我看到三个选项:使用异常(exception)。每次方法找不到图block时,我可能会引发异常。但是,由于这种情况并不少见,因此此选项是最糟糕的选项。以老式的C++方式执行此操作,如果没有磁贴则返回-1。将瓦片编号作为引用参数并将方法的返回类型更改为bool值以显示是否有瓦片。但这对我来说似乎有点复杂。那么,我该怎么办呢? 最佳答案

c# - 是否有 C# 方法重载参数排序约定?

对于以下情况,C#(或任何支持方法重载的面向对象语言)是否有某种约定?假设我有一个方法foo:publicvoidFoo(inta){//doesstuff}但实际上我有3个方法foo:publicvoidFoo(inta){}publicvoidFoo(inta,doubleb){}publicvoidFoo(floatc,inta,doubleb){}是否有一个约定来说明参数的顺序在重载方法中是否重要?请注意第三种方法如何没有明显的逻辑级数(a,b,c)。 最佳答案 是的。看看https://msdn.microsoft.com

c# - 属性和方法之间的界线应该在哪里?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:PropertiesvsMethods在许多情况下,某物应该是属性还是方法是显而易见的,但有些项目可能会被认为是不明确的。明显的特性:“姓名”“长度”显而易见的方法:“发送消息”“打印”不明确:“有效”/“有效”/“有效”“InBounds”/“IsInBounds”/“CheckBounds”"AverageChildValue"/"CalcAverageChildValue"“颜色饱和度”/“设置颜色饱和度”我想我会倾向于模棱两可的方法,但有人知道有助于决定这一点的规则或惯例吗?例如。所有属性都应该是O(

c# - 你如何解决 "StyleCop C# style"和 "Framework Design Guidelines C# style"之间的差异?

在阅读了好书“FrameworkDesignGuidelines”(2008年11月第2版)的附录A“C#编码风格约定”之后,我对Microsoft内部使用/推荐的编码风格感到很困惑。博客条目ABriefHistoryOfC#Style声明:Infact,thedifferencesbetweenthe"StyleCopstyle"andthe"FrameworkDesignGuidelinesstyle"arerelativelyminor在我看来,差异非常明显。StyleCop说左大括号应该在单独的一行上,框架设计指南说它应该在开头语句之后。StyleCop说所有关键字后面都要跟一

c# - nHibernate HQL - 实体未映射

我有我的nHibernate设置并且可以正确地使用QueryOver来处理大多数查询,但是,每当我尝试执行HQLCreateQuery时,我都会收到实体未映射的异常。我可以使用QueryOver确认同一个实体工作正常。注意:我使用的是fluentnHibernate有什么想法会导致这种情况吗? 最佳答案 如果您在映射中禁用了自动导入(),那么您将不得不在查询中的任何地方使用完全限定的类名,不合格的类名将不起作用。否则,启用自动导入。Conventions.Setup(x=>{x.Add(FluentNHibernate.Conven

c# - 如果您不打算从自适应呈现中获益,那么使用 HtmlTextWriter 有什么好处吗?

除了受益于替代设备的自适应渲染之外,编写所有这些代码是否有意义:writer.WriteBeginTag("table");writer.WriteBeginTag("tr");writer.WriteBeginTag("td");writer.Write(HtmlTextWriter.TagRightChar);writer.WriteEncodedText(someTextVariable);writer.WriteEndTag("td");writer.WriteEndTag("tr");writer.WriteEndTag("table");当StringBuilder可以简单

javascript - Aurelia get value conventer results in View

我想获得在我的View中过滤数组的值转换器的结果,以便显示找到的结果数。我既不想将此逻辑移至我的Controller(以保持其清洁),也不想添加诸如从值Controller返回一些数据之类的辅助手段。我想要的:所以,基本上我想要像angularoffers这样的东西:如图所示here:ng-repeat="iteminfilteredItems=(items|filter:keyword)"或here:ng-repeat="iteminitems|filter:keywordasfilteredItems"我得到的:不幸的是,在Aurelia:doffilteredDocuments=