공개 선언은 클래스를 직렬화 할 수있는 요구 사항입니까? 나는 모든 클래스가 [Serializable]
으로 표시된 코드를 공개적으로 선언했다. 나는 이것을 진술하는 공식 문서를 찾을 수 없었다..NET : 공용 선언이 클래스를 직렬화 할 수있는 요구 사항입니까?
0
A
답변
3
아니요, Serializable
에 대한 요구 사항은 없습니다. 스트림에 유지 될 데이터가 다른 사람들과 공유 될 가능성이 높으므로 공개 클래스의 선택을 유도하기 때문에 공개 클래스에 Serializable
이 표시되는 것은 놀라운 일이 아닙니다.
0
잘 모르겠습니다. 그러나 개인 중첩 클래스는 어떻습니까?
(public) 외부 클래스가 serialize 가능한 경우에는 내부 클래스도 serialize하는 것이 좋습니다. 항상
0
하지 사실, 아마 다른 개체의 상태를 나타내고 직렬화 내부 클래스가 객체를 가지고, 그것은 너무
0
직렬화에 따라 다름 매우 유효합니다. AFAIK, 바이너리 직렬화 (즉, - [Serializable])는 공개 멤버 액세스를 필요로하지 않으며 클래스의 메모리 내 스냅 샷을 가져 오는 몇 가지 부두를 수행합니다.
XmlSerialization (및 JsonSerialization 등)은 일반적으로 매개 변수없는 기본 생성자를 사용하여 클래스를 public으로 설정하고 모든 공용 속성이나 필드를 자동으로 serialize합니다.
관련 문제
- 1. 내가으로 클래스를 직렬화 할
- 2. 직렬화 할 수없는 클래스를 저장하는 중
- 3. Windows XP에서 .NET Framework 2.0은 선택 사항입니까?
- 4. C++에서 클래스를 직렬화 및 비 직렬화 할 수 있습니까?
- 5. 이 클래스를 직렬화 할 수없는 이유는 무엇입니까?
- 6. .Net 구성을위한 강력한 형식의 클래스를 생성 할 수있는 도구가 있습니까?
- 7. 클래스를 XML로 직렬화 하시겠습니까?
- 8. .NET Remoting에 SSL을 요구
- 9. 직렬화 된 객체로 공용 키 교환
- 10. .NET Framework를 배포하기위한 요구 사항
- 11. InitializeComponent에서 ISupportInitialize 코드를 직렬화하기위한 요구 사항은 무엇입니까? .NET
- 12. 직렬화 할 수없는 부분이있는 PHP 직렬화
- 13. 고객 요구 사항을받을 수있는 도구
- 14. .NET 바이너리 직렬화 조건부를 ISerializable
- 15. 조건부 선언이
- 16. 클래스를 직렬화 할 때 XMLSerializer가 잘못된 XML을 작성합니다 (간혹)
- 17. .NET : .NET 용 애니메이션 공용 컨트롤?
- 18. App.Config에서로드 할 수있는 .NET 형식
- 19. C# 클래스를 SQL 서버에 직접 직렬화 하시겠습니까?
- 20. 이상한 .Net 직렬화 문제
- 21. .NET Framework 버전 요구 사항
- 22. .NET WCF 직렬화 문제
- 23. XSD attributeGroup은 선택 사항입니까?
- 24. .NET 직렬화 클래스 디자인 문제
- 25. .Net 이진 직렬화 상속
- 26. Entity Framework에서 .Net 4에 대한 ADO.Net의 유일한 변경 사항입니까?
- 27. foreach를 할 수있는 클래스를 작성하는 법
- 28. 다른 클래스를 확장 할 수있는 클래스 제한
- 29. URI에서 스키마가 선택 사항입니까?
- 30. Rails 호환 .NET XML 직렬화
나는 대부분의 수업은 어쨌든 공개라고 생각합니다. –
반드시 그렇지는 않습니다. Daniel, 솔루션의 계획과 디자인에 분명히 달려 있습니다. –