이 문제는 어느 정도 관련이있다 : Problem with Code Generated by XSD.EXE: Sequence of Elements is Generated as an Arrayxsd.exe to C# - 배열 대신 ArrayList를 가져 오는 방법은 무엇입니까?
기본적으로, 나는 오히려 다음 C# 코드의 ArrayList를 배열과 함께 작동합니다. 오류 컬렉션이 있고 기존 오류 컬렉션에 추가 오류를 다시 전송하는 코드를 작성하고 있습니다. 또는 첫 번째 오류가 발견되면이 개체를 인스턴스화하고 배열의 첫 번째 오류를 설정해야합니다. 나는 C# 배열의 크기를 조정하고 싶지 않다. ArrayList에 추가하는 것이 훨씬 쉬워 진 것 같습니다.
나는 위에서 언급 한 질문은 같은 것을 묻는 질문이라고 생각하지만, 제 경우에는 복잡한 유형이 있습니다. 단순한 유형이 아닙니다.
<xs:element minOccurs="0" name="Errors">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Error">
<xs:complexType>
<xs:sequence>
<xs:element name="ErrorNumber" type="xs:string" />
<xs:element name="ErrorMessage" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
가 나는 C# 클래스를 생성 할 xsd.exe를 사용
내 스키마이 포함되어 상태라는 필드가 있습니다.
"오류"로 별도의 스키마를 만들었을 수 있으며 생성 된 C#에서 차이가 나는 경우 BizTalk 2006/R2로 스키마를 참조했습니다.
생성 C# 클래스는 다음과 같다 :
전용 StatusError [] errorsField;
[System.Xml.Serialization.XmlArrayAttribute(Form
= System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlArrayItemAttribute ("오류" 폼 = System.Xml.Schema.XmlSchemaForm.Unqualified, ISNULLABLE = false)] public StatusError [] 오류 { 을 얻습니다. { 을 반환합니다. this.errorsField; } 세트 { this.errorsField = value; }}}
[System.CodeDom.Compiler.GeneratedCodeAttribute ("XSD" "2.0.50727.1432")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [ System.ComponentModel.DesignerCategoryAttribute ("코드")] [System.Xml.Serialization.XmlTypeAttribute (AnonymousType = TRUE, 스페이스 = " https://firstrepublic.com/EagleConnect/Status/")] 공용 부분 클래스 StatusError {private string errorNumberField; private string errorMessageField; /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(Form
= 시스템. Xml.Schema.XmlSchemaForm.Unqualified)] 공개 문자열 ErrorNumber { get { return this.errorNumberField; } 세트 { this.errorNumberField = value; } }
그냥 일반적인 질문입니다. 목록 대신 ArrayList를 사용하는 이유는 무엇입니까? –
recursive
그건 괜찮을거야, 난 그냥 일반 배열 싶지 않았어. – NealWalters