[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