小编Vad*_*dim的帖子

如何在Unity中使用不同的构造函数两次注册相同的类型?

我正在尝试注册相同的类型,但有两个不同的构造函数.当我尝试解决时,我在第二个Resolve上得到" 依赖失败的解决方案".

    var container = new UnityContainer();

    container.RegisterType<IBar, Bar>()
        .RegisterInstance(new Bar())
        .RegisterType<IBar, Bar>()
        .RegisterInstance(new Bar("foo"));

    Bar bar1 = (Bar)container.Resolve<IBar>();
    Bar bar2 = (Bar)container.Resolve<IBar>("foo");  // ERROR
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

c# ioc-container unity-container

3
推荐指数
1
解决办法
1837
查看次数

在这种情况下,为什么可空类型不相等?

令人惊讶的是,下面的代码不会成功.

int? n1 = null;
int? n2 = null;
Assert.IsTrue(n1 <= n2);  // Fails here
Run Code Online (Sandbox Code Playgroud)

你知道为什么吗?

c# null

2
推荐指数
1
解决办法
1628
查看次数

在单元测试中使用RowTest是一个好习惯

NUnit和MbUnit具有RowTest属性,允许您将不同的参数集发送到单个测试中.

[RowTest]
[Row(5, 10, 15)]
[Row(3.5, 2.7, 6.2)]
[Row(-5, 6, 1)]
public void AddTest(double firstNumber, double secondNumber, double result)
{
  Assert.AreEqual(result, firstNumber + secondNumber);
}
Run Code Online (Sandbox Code Playgroud)

我曾经是这个功能的忠实粉丝.我到处都用它.但是,最近我不确定在单元测试中使用RowTest是否是个好主意.以下是更多原因:

单元测试必须非常简单.如果有错误,你不想花很多时间来弄清楚你的测试测试.当您使用多行时,每行都有不同的发送参数集,并测试不同的东西.

此外,我正在使用TestDriven.NET,它允许我从我的IDE,Visual Studio运行我的单元测试.使用TestDrivent.NET我无法指示运行特定的行,它将执行所有行.因此,当我调试时,我必须注释掉所有其他行,只留下我正在使用的那一行.

这是一个如何写今天的测试的例子:

[Test]
public void Add_with_positive_whole_numbers()
{
   Assert.AreEqual(5, 10 + 15);
}

[Test]
public void Add_with_one_decimal_number()
{
   Assert.AreEqual(6.2, 3.5 + 2.7);
}

[Test]
public void Add_with_negative_number()
{
   Assert.AreEqual(1, -5 + 6);
}
Run Code Online (Sandbox Code Playgroud)

说我仍然偶尔会使用RowTest属性,但只有当我相信当我稍后需要处理它时它不会让我失望时.

你觉得在单元测试中使用这个功能是个好主意吗?

.net c# unit-testing

2
推荐指数
1
解决办法
409
查看次数

Visual Studio中的引用属性中的别名是什么?

在C#项目的Visual Studio中,展开References文件夹.然后查看任何引用的属性.你会看到Aliases属性.在项目中,该物业具有"全球"的价值.

有人可以告诉我这个属性是什么,我该如何使用它?

谢谢.

.net visual-studio

2
推荐指数
1
解决办法
4902
查看次数

在JavaScript中检测404

在我的JavaScript中,我正在尝试重定向到第三方页面.它可以在新窗口中打开页面,也可以在框架内打开页面,具体取决于用户设置.像这样的东西:

if (newWindow)
{
   window.open(url, targer);
}
else
{
   theFrame = url;
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是显示我的自定义页面,以防第三方网站关闭或页面不可用.基本上是在404错误的情况下.

解决这个问题的最佳方法是什么?

javascript asp.net http-status-code-404

0
推荐指数
1
解决办法
422
查看次数