隐式排列的三胞胎阵列

时间:2010-12-10 10:53:08

标签: c# collections implicit-typing

我有一个单元测试方法:

private bool TestCompatibility(string type1, string type2, bool shouldBeCompatible)
{
}

由于它“知道”哪些类型(设计)兼容,因此它会调用正在测试的单元并查找错误。错误应该仅针对不兼容类型出现,因此方法测试是单元类型检查代码是否正确实现。

问题:我如何撰写三胞胎集合?

我想要类似的东西:

var ar = { { "Num", "Num", true }, { "Num", "Datetime", false } };
foreach (var triplet in ar)
{
    // ???
}

隐式输入。

P.S。我知道我可以使用属性和NUnit。不过,我想看看,如何在没有库的情况下编写它。

此致

1 个答案:

答案 0 :(得分:3)

我不知道这是否是您要找的,但您可以使用匿名类型:

var ar = new[] { 
    new { Type1 = "Num", Type2 = "Num", Compatible = true }, 
    new { Type1 = "Num", Type2 = "Datetime", Compatible = false } 
};
foreach (var triplet in ar)
{
    TestCompatibility(triplet.Type1, triplet.Type2, triplet.Compatible);
}