我有一个带有几个DataMembers的dataContract,如下所示。我想运行DataContract的每个成员并将其设置为string.Empty。我的所有dataMembers都是字符串类型。我不知道它是否可以做,因为通过defalut值返回Null。我希望它返回string.Empty。 提前致谢
public class xyz
{
[DataMember]
public string a { get; set ; }
[DataMember]
public string b { get; set; }
[DataMember]
public string c { get; set; }
[DataMember]
public string d { get; set; }
[DataMember]
public string e { get; set; }
}
答案 0 :(得分:1)
string
是参考类型。所以它的默认值为null。因此,您获得的默认值为null是合理的。
现在说要将其作为String.Empty
返回,这取决于您何时需要。请更具体一点,为了在这里发布一些符合您想要的代码。
答案 1 :(得分:0)
不是依赖于速记属性声明,而是将其全部写出并为每个声明提供默认值:
private string _a;
[DataMember]
public string a
{
get
{
if(_a == null)
{
return string.Empty;
}
return _a;
}
set
{
_a = value
}
}