홈>
C # .NET 2.0을 사용하면
[Serializable]
가있는 복합 데이터 클래스가 있습니다.
그것에 속성. 나는
XMLSerializer
를 만들고 있습니다
클래스와 생성자에 전달 :
XmlSerializer serializer = new XmlSerializer(typeof(DataClass));
예외가 발생합니다 :
데이터 클래스에는 또 다른 복합 객체가 있습니다. 이것도There was an error reflecting type.
[Serializable]
가 필요합니까?
속성을 사용하거나 맨 위 객체에 배치하면 내부의 모든 객체에 재귀 적으로 적용됩니까?- 답변 # 1
- 답변 # 2
직렬화 된 클래스에는 기본 (즉, 매개 변수가없는) 생성자가 있어야합니다. 생성자가 전혀 없다면 괜찮습니다. 그러나 매개 변수가있는 생성자가있는 경우 기본 구성 요소도 추가해야합니다.
- 답변 # 3
유사한 문제가 있었고 serializer가 내가 가지고있는 2 개의 클래스를 구분할 수 없다는 것이 밝혀졌습니다 같은 이름으로 (하나는 다른 것의 서브 클래스였습니다). 내부 예외는 다음과 같습니다.
'Types BaseNamespace.Class1'및 'BaseNamespace.SubNamespace.Class1'은 모두 네임 스페이스 ''에서 XML 유형 이름 'Class1'을 사용합니다. XML 속성을 사용하여 유형에 고유 한 XML 이름 및/또는 네임 스페이스를 지정하십시오.
BaseNamespace.SubNamespace.Class1은 BaseNamespace.Class1의 서브 클래스입니다.
필요한 것은 클래스 중 하나에 속성을 추가하는 것이 었습니다 (기본 클래스에 추가했습니다) :
[XmlType("BaseNamespace.Class1")]
참고 : 클래스 계층이 더 있으면 속성도 추가해야합니다.
- 답변 # 4
또한
XmlSerializer
추상 속성을 직렬화 할 수 없습니다. 솔루션 코드를 추가 한 여기에서 내 질문을 참조하십시오 ..XML 직렬화 및 상속 된 유형
- 답변 # 5
나에게 가장 일반적인 이유 :
- the object being serialized has no parameterless constructor - the object contains Dictionary - the object has some public Interface members
관련 자료
- bash - 이 스크립트가 포드에서 오류 (예 - errimagepull)를 감지하고 실패 할 때이를 감지하는 방법이 있습니까?
- Python Selenium을 사용하여 Chrome에서 파일을 다운로드하려고 할 때 오류가 발생하는 이유
- .net core - c # ilogger 종속성 주입 오류 - 인수가 없습니다
- Python의 사전에 동일한 키와 값이있는 경우 오류 메시지를 던지는 방법은 무엇입니까?
- jsp에 javalangNullPointerException 오류가 있습니다 소스 코드는 어떻게 수정합니까?
- 파이썬에서 try-except 오류 코드 출력을 사용자 정의하는 쉬운 방법이 있습니까?
- c++ - 여기 81 행에는 클래스를 변경하여 제거해야하는 오류가 있습니다
- flutter - Firebase 실시간 데이터베이스는 일치하는 데이터가없는 경우 'null'오류를 트리거합니다
- python - sklearn (LogisticRegression 모델 선택)에 오류가 있습니다
- amazon web services - 해결되지 않은 VPC 종속성이 있다는 오류가 발생하는 이유는 무엇입니까?
내부 예외를 살펴보십시오. 직렬화에 문제가있는 필드/프로퍼티를 알려줍니다.
[XmlIgnore]
로 장식하여 필드/속성을 XML 직렬화에서 제외 할 수 있습니다. 속성.XmlSerializer
생각하지 않습니다[Serializable]
를 사용합니다 속성이므로 문제가 의심됩니다.