我为 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;
}
}
用户对象由 web 服务返回,但不幸的是,电子邮件元素呈现为空:
<User>
<UserId>887339</UserId>
<UserName>Behhh, Joyce</UserName>
<CompanyId>6401970</CompanyId>
<Email/>
</User>
我认为隐式演员可以解决问题。
public static implicit operator string(EmailAdres s)