13

非常简单的问题:我可以使用NBuilder创建x 个随机字符串的集合吗?

我试图...

// NOTE: Tags need to be lowercase.
return Builder<string>
    .CreateListOfSize(10)
    .WhereAll()
        .Has(x => x = randomGenerator.Phrase(15))
    .WhereTheFirst(1)
        .Has(x => x = "time")
    .AndTheNext(1)
        .Has(x => x = "place")
    .AndTheNext(1)
        .Has(x => x = "colour")
    .Build();

但这是运行时错误,我需要调用一些特定的构造函数或其他东西。

有人有想法么?

4

2 回答 2

15

很抱歉让旧线程恢复生机,但我只是想分享这个解决方案/黑客:

var myList = Enumerable.Range(0, 10).Select(el => generator.Phrase(10));

感谢您的反馈:)

于 2014-01-21T23:55:53.483 回答
8

NBuilder 使用默认(无参数)构造函数创建对象。您收到的异常是因为 String 类没有默认构造函数。

要创建随机字符串列表,您可以在循环中使用 Phrase 方法。也许不像单个 NBuilder 链那么干净,但它可以完成工作:

   List<string> stringsList = new List<string>();
   var generator = new RandomGenerator();
   for (int i = 0; i < 10; i++)
   {
       stringsList.Add(generator.Phrase(15));
   }

   return stringsList;
于 2011-01-31T22:59:52.643 回答