Tag: C#的

如何使用Moq框架来模拟ModelState.IsValid?

我在我的控制器操作方法中检查ModelState.IsValid ,创build一个Employee像这样: [HttpPost] public virtual ActionResult Create(EmployeeForm employeeForm) { if (this.ModelState.IsValid) { IEmployee employee = this._uiFactoryInstance.Map(employeeForm); employee.Save(); } // Etc. } 我想用我的unit testing方法使用Moq框架来嘲笑它。 我试图嘲笑它是这样的: var modelState = new Mock<ModelStateDictionary>(); modelState.Setup(m => m.IsValid).Returns(true); 但是在我的unit testing用例中抛出了一个exception。 有人可以帮我从这里出去吗?

为什么很多(旧)程序使用floor(0.5 + input)而不是round(input)?

这个差异就在于我所相信的返回值给出的input是相信的,比如这个代码 : int main() { std::cout.precision(100); double input = std::nextafter(0.05, 0.0) / 0.1; double x1 = floor(0.5 + input); double x2 = round(input); std::cout << x1 << std::endl; std::cout << x2 << std::endl; } 其输出: 1 0 但是最后他们只是不同的结果,一个select了自己喜欢的结果。 我看到许多使用floor(0.5 + input)而不是round(input)的“旧”C / C ++程序。 有什么历史原因吗? 在CPU上最便宜?

在Visual Studio 2008testing框架中声明数组是平等的

有一个简单的方法来检查一个unit testing,两个数组是否相等(也就是说,有相同数量的元素,每个元素是相同的?)。 在Java中,我会使用assertArrayEquals (foo, bar); ,但似乎没有相当于C#。 我尝试了Assert.AreEqual(new string[]{"a", "b"}, MyFunc("ab")); ,但即使该函数返回一个数组“a”,“b”检查仍然失败 这是使用Visual Studio 2008 Team Suite和内置的unit testing框架。

为什么要uint32_t而不是uint_fast32_t?

看来, uint32_t比uint_fast32_t更普遍(我意识到这是一个轶事证据)。 尽pipe如此,这对我来说似乎是反直觉的。 几乎总是当我看到一个实现使用uint32_t ,它真正想要的是一个整数,可以保存值高达4,294,967,295(通常是65,535和4,294,967,295之间的某个较低的边界)。 使用uint32_t似乎很奇怪,因为不需要“正好32位”的保证,并且uint_fast32_t的“最快可用> = 32位”保证似乎是正确的想法。 而且,虽然它通常被实现,但uint32_t实际上并不保证存在。 那么为什么uint32_t更uint32_t ? 它是只是更好的了解,还是有技术上的优势?

如何杀死使用Vb.NET或C#的进程?

我有一个场景,我必须检查用户是否已经打开Microsoft Word。 如果他有,那么我必须杀死winword.exe进程,并继续执行我的代码。 任何人有任何使用vb.net或c#杀死进程的直接代码?

如何更改站点的IIS Express端口

我想从Visual Studio进行debugging时更改我的网站运行的端口号。 我正在使用Visual Studio 2012,并且我正在使用ASP.NET MVC 4为我的项目更改端口。 随机端口或固定任何人将工作只是想改变端口。

新的关键字“自动”; 什么时候应该用来声明一个variablestypes?

可能重复: 用C ++ 0x auto关键字多less钱 我们(作为一个社区)是否有足够的经验来确定汽车何时和/或是否被滥用? 我真正想要的是一个最佳实践指南 何时使用自动 何时应该避免 简单的经验法则可以在80%的案件中迅速得到遵守。 作为一个背景,这个问题是由我在这里的回应引发的

如何转义c#注释中的字符?

我今天才意识到,我不知道如何在C#的评论中转义字符。 我想logging一个通用的C#类,但我不能写一个适当的例子,因为我不知道如何逃避<和>字符。 我必须使用&lt; 和&gt; ? 我不喜欢,如果是这样的话,因为我想在实际的文档中轻松地阅读注释,所以我不必生成某种types的代码文档来阅读示例代码。

为什么更喜欢在C + +无符号签名?

我想更好地理解为什么selectint unsigned ? 就我个人而言,除非有合理的理由,否则我从来不喜欢签名的值。 例如数组中项目的数量,string的长度,内存块的大小等,所以这些事情往往不可能是负面的。 这样的价值没有可能的意义。 在所有这些情况下,为什么更喜欢int ? 我问这个,因为Bjarne Stroustrup和Chandler Carruth都给出了build议,希望int在这里没有 unsigned (约12:30) 。 我可以看到在short或long使用int的参数 – int是目标机器体系结构的“最自然的”数据宽度。 但签署无签名总是恼火我。 在典型的现代CPU架构上,签名值是否真的更快? 是什么让他们更好?

使用C#reflection调用构造函数

我有以下情况: class Addition{ public Addition(int a){ a=5; } public static int add(int a,int b) {return a+b; } } 我打电话给另一个classjoin: string s="add"; typeof(Addition).GetMethod(s).Invoke(null, new object[] {10,12}) //this returns 22 我需要一种类似于上述reflection语句的方法来创build一个使用Addition(int a)types的新对象, 所以我有strings= "Addition" ,我想创build一个新的对象使用reflection。 这可能吗?