我正在从每个元素中都有“ k_BackingField”的服务接收xml数据。
{
"<UserId>k__BackingField": "b5184b32-0d88-49e7-ba98-afbc96e47b7e",
"<Date>k__BackingField": "2016-05-11T13:40:36.6542578+01:00",
"<Resources>k__BackingField": [
{
"<Type>k__BackingField": "Num",
"<Id>k__BackingField": "978000940016736",
"<IsDeleted>k__BackingField": false
}
]
}
Run Code Online (Sandbox Code Playgroud)
我知道WCF服务方法何时具有[DataMember] [DataContract]时,它将提供正确的XML格式数据,但是当该方法单独使用[Serializable]时,它将提供每个元素中带有K_BackingField的XML数据。
我将存储的数据实际上应该是没有k__BackingField的干净XML。我们如何使用C#删除它?
不要使用自动属性,而应使用带有显式私有变量的属性作为后端。如果不这样做,则编译器将创建那些k__BackingField来为您保存属性值。
别:
public string MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
使用:
private string _myProperty;
public string MyProperty
{
get { return _myProperty; }
set { _myProperty = value; }
}
Run Code Online (Sandbox Code Playgroud)
小智 5
你应该添加[DataContract]到你的班级;
[Serializable, DataContract]
public class TestObject
{
[DataMember]
public Boolean Value { get; set; }
[DataMember]
public String Text{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2569 次 |
| 最近记录: |