EmailAdres のカスタム タイプを作成し、このタイプを User というクラスで使用しました。
public class User
{
public string UserId { get; set; }
public string UserName { get; set; }
public int CompanyId { get; set; }
public EmailAdres Email { get; set; }
}
[Serializable]
public class EmailAdres
{
string _adres;
public EmailAdres()//needed for serialization
{
}
public EmailAdres(string s)
{
_adres = s;
}
public static implicit operator EmailAdres(string s)
{
return new EmailAdres(s);
}
public static implicit operator string(EmailAdres s)
{
return s._adres;
}
}
User オブジェクトは Web サービスによって返されますが、残念ながら Email 要素は空にレンダリングされます。
<User>
<UserId>887339</UserId>
<UserName>Behhh, Joyce</UserName>
<CompanyId>6401970</CompanyId>
<Email/>
</User>
暗黙のキャストがうまくいくと思いました。
public static implicit operator string(EmailAdres s)