[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. [XMLIgnore] 속성을 무시하는 방법
- 3. Subversion diff 요약에서 mergeinfo 속성을 무시하는 방법은 무엇입니까?
- 4. Inno Setup에서 파일을 검색하는 동안 숨겨진 속성을 무시하는 방법은 무엇입니까?
- 5. 'aspxerrorpath'변수를 전환/무시하는 방법은 무엇입니까?
- 6. 저장소에있는 파일을 무시하는 방법은 무엇입니까?
- 7. 속성을 포함하지 않는 json으로 직렬화 할 때 속성을 무시하는 방법
- 8. Automapper를 사용하여 중첩 된 속성을 무시하는 문제
- 9. uitableviewcell 속성을 무시하는 데 문제가 있습니다.
- 10. Hibernate가 persistence.xml의 JPA2 표준화 된 속성을 무시하는 이유는 무엇입니까?
- 11. gcc : 표준 포함 경로를 무시하는 방법은 무엇입니까?
- 12. diff가있는 문자열로 시작하는 줄을 무시하는 방법은 무엇입니까?
- 13. htpasswd의 일부 디렉토리를 무시하는 방법은 무엇입니까?
- 14. PHP 폼에서 파일 입력을 무시하는 방법은 무엇입니까?
- 15. 정렬시 빈 문자열을 무시하는 방법은 무엇입니까?
- 16. IE8에서 브라우저 모드 설정을 무시하는 방법은 무엇입니까?
- 17. J2ME에서 사용자 확인을 무시하는 방법은 무엇입니까?
- 18. CakePHP에서 공용 이미지 디렉토리를 무시하는 방법은 무엇입니까?
- 19. HG의 특정 폴더를 무시하는 방법은 무엇입니까?
- 20. 신호를 무시하는 STDIN_FILENO에서 선택하는 방법은 무엇입니까?
- 21. Mac에서 환경 변수를 무시하는 방법은 무엇입니까?
- 22. MySQL 테이블에 값을 삽입 할 때 자동 증가 기본 키의 속성을 무시하는 방법은 무엇입니까?
- 23. 연관성에서 속성을 색인화하는 방법은 무엇입니까?
- 24. 동적 속성을 제공하는 방법은 무엇입니까?
- 25. 대리인으로 속성을 전달하는 방법은 무엇입니까?
- 26. 파일에서 속성을 반복하는 방법은 무엇입니까?
- 27. 캐시 속성을 구현하는 방법은 무엇입니까?
- 28. 속성을 비공개로 설정하는 방법은 무엇입니까?
- 29. LoaderException 속성을 검색하는 방법은 무엇입니까?
- 30. GWT에서 속성을 설정하는 방법은 무엇입니까?
ToJson을 호출 할 때 코드 샘플을 표시 할 수 있습니까? 그것을 시도 할 때 그것은 던지지 않습니다 ... –
값을 설정하는 좋은 방법이 없기 때문에 최소한 * 일부 코드가 생략되었습니다. -? –