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

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 に答える