using (var streamWriter = new StreamWriter(SomeRequest.GetRequestStream()))
{
string json = JsonConvert.SerializeObject(new
{
Type_member1 = "StacOverFlow",
Type_member2 = sometext,
Type_member3 = 0,
private = true
});
streamWriter.Write(json);
}
Run Code Online (Sandbox Code Playgroud)
如您所见,有一个名为"private"的Type成员.当然,当我键入它时,会弹出一条消息并告诉我:
"无效的表达术语'私人'"
将"private"置于引号内将返回此错误:
"无效的匿名类型成员声明者.bla bla bla ..."
有办法解决这个问题吗?
这可以通过使用语法来解决:
@private = true,
Run Code Online (Sandbox Code Playgroud)
注意使用@private(其中@改变了编译器解释源代码的方式) ; 并将其更改;为a ,以避免其他语法错误.
关键词[即.
private]是预定义的保留标识符,对编译器具有特殊含义.它们不能用作程序中的标识符,除非它们包含@作为前缀.例如,@if[即.@private]是一个有效的标识符,但是if[即.private]不是因为if是关键字.
或者,创建一个非匿名类型(具有更好的代码友好成员名称)并应用[JsonProperty]或[DataMember]属性将序列化名称更改为"私有".
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |