Questions tagged «c#»

C#是Microsoft与.NET平台并行创建的一种多范式,托管的,垃圾回收的面向对象编程语言。

4
为启动外部EXE的类编写单元测试
我编写了一个C#类,用于启动EXE列表(不是我的一个-我必须运行的第三方EXE)并使其保持运行状态(偶尔检查以确保它仍在运行,如果没有,则启动它们) 。 我能够测试添加,删除等的基本逻辑。如何对保持EXE的实际工作进行单元测试? 我最初的想法是启动一些虚拟EXE,该EXE在1秒后关闭,然后使用它进行测试。这是否超出了单元测试的范围?

8
C#foreach的改进?
我经常在编程过程中遇到这种情况,我想在foreach中有一个循环计数索引,并且必须创建一个整数,使用它,递增等。如果引入一个关键字是foreach内部的循环计数?它也可以在其他循环中使用。 这是否与关键字的使用背道而驰,因为编译器将不允许该关键字在循环结构中的任何地方使用?
9 c#  loops 

3
为什么.NET模块将模块文件名与名称空间分开?
在Scheme编程语言(R6RS标准)的实现中,我可以如下导入模块: (import (abc def xyz)) 系统将尝试寻找一个文件$DIR/abc/def/xyz.sls,该文件$DIR是您保存Scheme模块的某个目录。xyz.sls是模块的源代码,如有必要,它可以即时进行编译。 在这方面,Ruby,Python和Perl模块系统相似。 另一方面,C#涉及更多。 首先,您必须根据每个项目引用dll文件。您必须明确引用每个。这比说要复杂得多,将dll文件拖放到目录中,然后让C#按名称进行选择。 其次,dll文件名与dll提供的名称空间之间没有一一对应的命名关系。我可以体会这种灵活性,但是它也可以一发不可收拾。 为了具体化,如果我说这话using abc.def.xyz;,C#会尝试abc/def/xyz.dll在C#知道要查找的某个目录中找到一个文件(可以根据每个项目进行配置),那就太好了。 我发现处理模块的Ruby,Python,Perl,Scheme方法更加优雅。新兴语言似乎倾向于更简单的设计。 为什么.NET / C#世界以额外的间接级别以这种方式执行操作?

2
这种尴尬的间距是某种风格吗?
在阅读另一位程序员的代码时,他使用了我从未见过的格式。例如 namespace MyNs.HereWeAre {//tab here for some reason public class SomeClass {//here's another tab public string Method() {//yet another tab string _variable = "";//no tab implementation return _variable; } }//eof - class (Yes these eof comments are on every file) }//eof - namespace // eof - file 我承认...此代码使我生气。很难实现这种风格。需要与IDE(Visual Studio)提供的默认格式作斗争。 如果我知道这种药理有充分的理由,我可以更容易地吞下这种药。这种风格是否源于其他编程语言/ …

3
用类替换类型代码(从重构[Fowler])
此策略涉及替换以下内容: public class Politician { public const int Infidelity = 0; public const int Embezzlement = 1; public const int FlipFlopping = 2; public const int Murder = 3; public const int BabyKissing = 4; public int MostNotableGrievance { get; set; } } 带有: public class Politician { public MostNotableGrievance …
9 c#  refactoring 

1
如何开始使用TDD编码一些简单功能?
我基本上有TDD的要旨。我卖了它很有用,并且对MSTEST框架有了一个合理的命令。但是,到目前为止,我还不能毕业于将其用作主要开发方法。通常,我将其用作编写控制台应用程序作为测试驱动程序的替代方法(我的传统方法)。 对我而言,最有用的是它吸收回归测试作用的方式。 我还没有构建专门隔离各种可测试行为的工具,这是我所知道的另一大部分。 因此,这个问题是要寻求关于我可能为以下开发任务编写的第一个测试的指针:我想生成以生产者/消费者的方式封装任务执行的代码。 我停下脚步,并决定在编写此代码后写这个问题(想知道这次是否可以真正使用TDD) 码: interface ITask { Guid TaskId { get; } bool IsComplete { get; } bool IsFailed { get; } bool IsRunning { get; } } interface ITaskContainer { Guid AddTask(ICommand action); } interface ICommand { string CommandName { get; } Dictionary<string, object> Parameters { get; …
9 c#  tdd 

7
如果我的LOC /天比率过高,是否应该打扰我?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我目前正在从事一个独立项目,因此我没有进行整个人工测试或外部代码审查的全部精力–但是,我在当前代码中看不到任何困难的错误(我已将其修复,因为我看到了这些错误) ,而且在大多数情况下,它们只是错误的字段名称等,您需要在一两分钟之内解决的问题),并且在实现任何功能之前,我会先进行测试,然后再进行推送。最近,我的LOC号码每天大约为400(根据记录,它是C#),我不仅在实现新系统,还重写了我已经写的东西并修复了一些错误。 我应该打扰吗?这是否是我需要停止并查看我到目前为止一直在写的所有代码并对其进行重构的标志?
9 c#  refactoring 

2
在我自己的应用程序中模仿Exchange Server的“ RBAC AuthZ”…(有类似的东西吗?)
Exchange 2010中有一个代表团模型,其中一组的WinRM的cmdlet的essentally分为角色,并分配给用户的角色。 (图片来源) 考虑到我如何利用PowerShell的所有优势,同时使用正确的低级技术(WCF,SOAP等),并且在客户端不需要任何其他软件,这是一个很好且灵活的模型。 (图片来源) 问题 我是否可以在.NET应用程序中利用Exchange的委派模型? 有没有人试图模仿这种模式? 如果必须从头开始,我将如何模仿这种方法?

7
带变量vs内联变量的string.format
有什么优点/缺点(如果有) string output; int i = 10; output = string.Format("the int is {0}", i); 与 string output; int i = 10; output = "the int is " + i; 我一直使用后一个示例,但似乎大多数在线教程都使用string.format示例。我认为效率没有真正的区别,我最初的想法是使编码人员不必为了插入变量而不断破坏字符串。
9 c#  .net  vb.net  strings 

4
在C#中从MS SQL Server查询数据的最佳实践?
在C#中从MS SQL Server查询数据的最佳方法是什么? 我知道在代码中进行SQL查询不是一种好习惯。 是创建存储过程并从C#中使用参数调用它的最佳方法吗? using (var conn = new SqlConnection(connStr)) using (var command = new SqlCommand("StoredProc", conn) { CommandType = CommandType.StoredProcedure }) { conn.Open(); command.ExecuteNonQuery(); conn.Close(); }
9 c#  sql  sql-server 


3
是否有类似于LINQPad的技术来编译在浏览器中运行的C#?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 想想JSFiddle。LINQPad非常适合具有类似选项的快速C#。是否在浏览器中运行类似LINQPad的东西?
9 c# 



6
Razor或XSLT是否更适合我的项目?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我正处于系统设计的初期阶段,该系统实际上将分为两部分。一个部分是服务,另一部分是与服务的接口,该接口通过OData或XML之类的数据提供数据。该应用程序将基于MVC架构模式。对于视图,我们正在考虑在ASP.NET下使用XSLT或Razor。 XSLT或Razor将有助于分离关注点,其中原始XML或响应表示您的模型,XSLT或“ Razor视图”表示您的视图。在本示例中,我将省略控制器。最初的设计建议建议使用XSLT,但是我建议使用Razor作为更友好的视图引擎。 这些是我建议使用Razor(C#)的原因: 更易于使用和构建更复杂的页面。 可以轻松产生非* ML输出,例如csv,txt,fdf 不太冗长的模板 视图模型是强类型的,其中XSLT需要依赖约定,例如布尔值或日期值 标记更易于访问,例如nbsp,换行符标准化,服装值标准化,空白规则 内置的HTML帮助程序可以基于DTO属性生成JS验证代码 内置的HTML帮助程序可以生成操作的链接 对于剃须刀而言,XSLT的论点是: XSLT是一个标准,并且在将来仍会存在很多年。 很难不小心将逻辑移到视图中 对于非程序员更轻松(我不同意)。 在我们过去的一些项目中,它是成功的。 数据值默认为HTML编码 始终保持良好状态 因此,我正在寻找双方的观点,建议或做出类似选择的经验?
9 c#  asp.net-mvc  xslt  razor 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.