[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. 如何让RIA在生成实体时忽略某个属性?
- 2. 如何让BlazeDS忽略属性?
- 3. 无论如何,让JsonConvert.SerializeObject忽略属性上的JsonConverter属性?
- 4. Automapper忽略属性忽略
- 5. ServiceStack.OrmLite如何忽略属性
- 6. Flex JSON:忽略某些属性?
- 7. 让NHibernate忽略未设置属性?
- 8. 如何让DataGridView在绑定到IList对象时忽略某些属性
- 9. 有没有办法让JavaScriptSerializer忽略某个泛型类型的属性?
- 10. XML忽略属性
- 11. AutoMapper忽略属性
- 12. 忽略styleSheetTheme属性
- 13. System.ComponentModel - 忽略属性
- 14. Newtonsoft忽略属性?
- 15. 如何忽略Dapper中的某些属性?
- 16. 如何忽略@Entity中@Embeddable的某些属性?
- 17. 如何让流利NHibernate忽略字典属性
- 18. 如何让相同忽略属性/名称?
- 19. 如何让Vim忽略某些“第二个扩展”?
- 20. 如何让XmlSerializer忽略某个类型的所有成员?
- 21. 如何使用graphdiff忽略属性?
- 22. 如何忽略Python类属性?
- 23. 如何忽略JSON属性动态
- 24. 如何使FluentValidation忽略属性
- 25. 如何忽略CSS底部属性?
- 26. 检查某个属性是否被EntityFramework忽略
- 27. Eclipse STS svn svn:忽略,不让我忽略某些文件
- 28. 如何用XStream忽略某个类型?
- 29. 如何让HTTParty忽略SSL?
- 30. 如何让Grails忽略.DS_Store
你可以在你打给ToJson的地方显示一个代码示例吗?它不会抛出当我尝试出来... – 2010-01-23 21:47:44
我怀疑至少*一些*代码已被省略,因为没有好的方法来设置值 - ? – 2010-01-23 21:54:31