3

サード パーティによって作成された LINQ Web サービス データ プロバイダーのモックには何が関係しており、私にとって事実上ブラック ボックスなのですか? そのブラックボックスの典型的な使用法は次のとおりです。

var conn = new RemoteServer (username,password);
var result = from row in conn.GetSomeData()
    where row.this == "Hello" && row.that != "World"
    select new { row.this, row.that, row.theOther };

私はこれまでのところ知っresultていIEnumerable<T>ます。別の使用例:

string something="xxx";
var result = from row in conn.SubscribeAsync()
    where row.this == something
    select new MyObject(something) { row.that, row.theOther };

(これにより、おそらく毎秒数項目ずつデータがプッシュされ続けます。また、慎重にタイミングを合わせたシーケンスをモックしたいと考えています。)

私の本当の質問は、次のように簡単になるかどうかです。

 class MockRemoteServer
 {
     IEnumerable GetSomeData()
     {
          return new[]
          {
              new {this="1",that="2",theOther="special"},
              new {this="hello",that="world",theOther="something"}
          }
     }
 }

それとも、完全な LINQ データ プロバイダーを自分で実装する必要がありますか? もしそうなら、これに関する本や記事の推奨事項はありますか? (私の LINQ の知識は、現在、Jon Skeet の C# In Depth の最初から最後まで読んだものに基づいており、他にはあまりありません...)

4

1 に答える 1

1

通常はAList<T>で十分です (IEnumerable を実装しているため)。ただし、クエリの実際のパフォーマンスを知りたい場合は、実際の RemoteServer を使用することに勝るものはありません。

于 2012-10-10T15:10:06.113 に答える