かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

検索系まとめ

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

前回、とりあえず.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あたりを返しておけば、検索用のメソッドとして動きます。