[Serializable]
public class ModelResource:ISerializable
{
public Int64 Ore { get; private set; }
public Int64 Crystal { get; private set; }
public Int64 Hydrogen { get; private set; }
//needs to be ignored
public Int64 Total { get { return Ore + Hydrogen + Crystal; } }
public string ResourceType { get; private set; }
public Int64 HerculesNeeded { get { return Total/25000; } }
public Int64 AtlasNeeded { get { return Total/5000; } }
public bool IsPlanet { get { return ResourceType == "Planet"; } }
//causes serializer to stackoverflow
public ModelResource MakeChild {get{return new ModelResource(Ore/2,Crystal/2,Hydrogen/2);}}
public string ToJson()
{
var jss = new System.Web.Script.Serialization.JavaScriptSerializer(new SimpleTypeResolver());
return jss.Serialize(this); //throws recursion limit exceed exception
}
#region ISerializable Members
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("Ore", Ore);
info.AddValue("Crystal", Crystal);
info.AddValue("Hydrogen", Hydrogen);
info.AddValue("ResourceType", ResourceType);
}
private ModelResource(SerializationInfo si, StreamingContext context)
{
Ore = si.GetInt64("Ore");
Crystal = si.GetInt64("Crystal");
Hydrogen = si.GetInt64("Hydrogen");
ResourceType = si.GetString("ResourceType");
}
#endregion
}
10
A
回答
14
通常我会建议告诉它忽略父属性(创建周期) - 在这种情况下,通过添加[ScriptIgnore]
- 但我除了基本成员之外什么都看不到 - 这个类本身足以导致错误?
相关问题
- 1. 如何让BlazeDS忽略属性?
- 2. 无论如何,让JsonConvert.SerializeObject忽略属性上的JsonConverter属性?
- 3. Automapper忽略属性忽略
- 4. Flex JSON:忽略某些属性?
- 5. 如何让DataGridView在绑定到IList对象时忽略某些属性
- 6. AutoMapper忽略属性
- 7. XML忽略属性
- 8. Newtonsoft忽略属性?
- 9. 如何忽略Dapper中的某些属性?
- 10. 如何让流利NHibernate忽略字典属性
- 11. 如何让XmlSerializer忽略某个类型的所有成员?
- 12. 如何使用graphdiff忽略属性?
- 13. 如何忽略JSON属性动态
- 14. 如何忽略CSS底部属性?
- 15. 检查某个属性是否被EntityFramework忽略
- 16. 如何用XStream忽略某个类型?
- 17. 如何让IE忽略history.pushState?
- 18. 在比较ruby中的两个json文件时,如何忽略某些属性?
- 19. 如何让MATLAB忽略一个函数?
- 20. 如何让b2Body忽略另一个b2Body?
- 21. ASP.NET MVC:OutputCache属性忽略RequireHttps属性?
- 22. 忽略'optimize'属性指令
- 23. 路由属性被忽略
- 24. 忽略CSS悬停属性
- 25. .NET XMLSERIALIZE,忽略类属性
- 26. hibernate忽略级联属性
- 27. NHibernate忽略ForeignKey属性
- 28. GROUP BY忽略属性
- 29. PetaPoco和忽略属性
- 30. 忽略嵌套属性 - AutoMapper
你可以在你打给ToJson的地方显示一个代码示例吗?它不会抛出当我尝试出来... – 2010-01-23 21:47:44
我怀疑至少*一些*代码已被省略,因为没有好的方法来设置值 - ? – 2010-01-23 21:54:31