かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

検索系まとめ

前回:検索系の処理を実装してみよう

前回、とりあえず.NET RIA Servicesを使って、検索系の処理を書いてみました。
今回は、.NET RIA Servicesの検索系の簡単なまとめをしてみたいと思います。検索系のメソッドになるためには、以下の条件を満たしている必要があります。

  1. publicなメソッド
  2. 戻り値がTかIQueriableかIEnumerableのメソッド
    1. TはKeyAttributeの指定されたプロパティを持つpublicなクラス
    2. Tは仮想クラスではなく、きちんとnewでインスタンスが作れること
  3. 0個以上の引数を持つこと
  4. 引数の型は以下のものであること
    1. プリミティブ型
    2. String, DateTime, TimeSpan, Guid, Uri, XElement, Byte[], System.Data.Linq.Binary, サポートされている型の配列とIEnumerable, IListを実装してデフォルトコンストラクタを持つクラス
  5. QueryAttributeがついている(ついてなくてもよさそう?)

こうすることで、クライアントから呼び出せる検索用のメソッドが作れます。
いろいろ書いてありますが、結局はKeyAttributeのついたプロパティを持つクラスか、そのIEnumerable、IQueryableあたりを返しておけば、検索用のメソッドとして動きます。