クライアントとサービスの間で受け渡しするものにDataMember属性を付ける。
プロパティの場合、通常、フィールドかプロパティのいずれかに付ける。
<DataMember()> _
Public Property Hoge() As String
<DataMember()> _
Private _Hoge As String
値が""の場合、前者は受け取り側でNothingになってしまう。。。
たぶん自動生成したクライアントコードのコメントアウトした部分に鍵がありそう。
ちょっと調べてみようっと。