현재 프로젝트에서 FxCop을 사용하여 다양한 코드 분석 경고를 처리하고 있습니다. 이름 지정 규칙의 경우 규칙과 일치하도록 이름을 변경하거나 내 현재 맞춤법을 유지하고 경고를 표시하지 않기로 결정할 수 있습니다. [Serializable]
으로 표시된 클래스 나 속성과 관련하여 이름 변경의 파급 효과에 관심이 있습니다. 특히, 기존의 직렬화 된 데이터와의 역 호환성이 어떻게 영향을받을 수 있습니까? 당신이 및 변경하기 전에 직렬화 된 데이터를 읽을 필요가 필드 이름을 변경하는 경우Serializable 클래스 및 이름 리팩토링
3
A
답변
2
, 그것은 더러운 얻을 수 있습니다. BinaryFormatter
은 주로 필드 (이름) 기반 시리얼 라이저이며 행복하지 않습니다. 속성과 메소드를 변경하는 것은 외부 코드가 그것을 참조하지 않는 한 잘되어야합니다 (그리고 단위 테스트를 실행해야합니다). 그 시점에서 실행 가능한 옵션 : 수동 직렬화 (ISerializable
) 및 직렬화 대리. 고통 많이.
XmlSerializer
/DataContractSerialializer
을 사용하는 경우에는 멤버 이름과 별도로 serialization 이름을 지정할 수 있으므로 수정하기가 쉽습니다.
[XmlElement("Color")] // original spelling
public string Colour {get;set;} // now with the correct spelling ;-p
: 그리고 다른 시리얼 라이저는 모든 ;-p
XmlSerializer
예에서 이름을 사용하지 않는
관련 문제
- 1. serializable 클래스의 이름 바꾸기
- 2. 전체 xcode 프로젝트에서 전체 클래스 이름 리팩토링
- 3. Serializable 클래스 컬렉션
- 4. 리팩토링 추상 클래스
- 5. Serializable 사용자 정의 예외 클래스?
- 6. NetBeans 리팩토링 클래스 : java.lang.NoClassDefFoundError
- 7. 리팩토링 : 중첩 클래스 또는 별도 클래스?
- 8. Serializable 예외 및 WCF
- 9. DataContractAttribute 및 Serializable 사용
- 10. 빠른 도움말 리팩토링 Ruby 클래스
- 11. 전체 프로젝트 변수 및 매개 변수 이름 리팩토링
- 12. NSObject의 사용자 지정 클래스 만들기 serializable
- 13. Serializable 클래스 확장, 원격 호출에서 사용하는 방법?
- 14. 다른 Serializable 클래스 내에서 IDictionary를 serialize
- 15. Hibernate session.contains (클래스 clazz, Serializable id)
- 16. jQuery 코드 리팩토링 및 DRY up
- 17. 익명 클래스 바이너리 이름
- 18. 코드 복제 및 리팩토링
- 19. 리팩토링 및 평가
- 20. 템플릿 유형에 기반한 C++ 템플릿 클래스 리팩토링
- 21. Serializable java.lang.Locale
- 22. Java Serializable
- 23. Serializable 상속
- 24. asp.net, gettype() 및 정규화 된 클래스 이름
- 25. 클래스 이름 지정 및 네임 스페이스
- 26. 기본 클래스 이름 지정 및 가시성 질문
- 27. 네임 스페이스 및 클래스 이름 지침
- 28. SEO - ID 클래스 이름
- 29. 시스템 클래스 로더의 이름
- 30. C#에서 문자열의 클래스 이름 가져 오기