WebServiceで渡せるデータ型

WebServiceの実験メモ。
XML Web サービスの型マーシャリング
基本的に、ここに書いてある通りですが、若干補足。

  • WebMethodにジェネリックメソッドは駄目
  • パブリックなプロパティでも読み取り専用の場合は無視される
  • プリミティブな値型(intやdoubleなど)は、Nullableをつけるとクライアント側でNullableが付く
  • ユーザ定義の値型はクライアント側ではクラスになるのでNullableにしても意味が無い
  • IDictionaryを実装する型、もしくはそれを含む型は渡せない(DictionaryやExceptionなど)
  • System.Collections.GenericにあるコレクションはList以外、全滅(というか、何故ListはOKなんだろ)
  • Listは配列に変換される