2012-10-10 3 views
4

가능한 중복 :
Meaning of text between square brackets대괄호가

내가

public class SaveBundle 
{ 
     /// <remarks/> 
     [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] 
     public SaveBundleHeader Header 
     { 
      get 
      { 
       return this.headerField; 
      } 
      set 
      { 
       this.headerField = value; 
      } 
     } 
} 

처럼 보이는 찾고 있어요 클래스 나도 몰라 왜 [ System.Xml.Serialisztion.Xml 등]이 존재합니까? 아니면 더 자세히 조사하기 위해 호출 된 것입니까?

[]의 이름을 말해 줄 수 있습니까?이 예에서 무엇이 목적입니까?

답변

2

그것은 당신은 MSDN에 XmlElementAttribute로를 검색 할 수 있어야한다 재산 Header

에 설정되는 속성 XmlElement입니다. here처럼 귀하의 재산을 포맷하기 위해

+0

그래서 내 모든 속성/필드에서 그 속성을 사용했다면 실제로 Xml 객체처럼 내 객체를 사용할 수 있습니까? – Dave

+1

속성이 없어도 객체를 XML로 직렬화 할 수 있습니다. 속성을 사용하면 _how_ it 더 정확하게 인코딩됩니다. –

6

이것은 접근 가능한 메타 데이터로 사물을 장식하는 데 사용되는 attribute입니다. reflection을 사용하여이 데이터를 가져 와서 처리 할 수 ​​있습니다. 프레임 워크의 많은 부분이 클래스 Serializable을 표시하는 속성에 대한 MSDN 링크의 예와 같이 이미이 작업을 수행합니다. 메타 데이터를 기반으로 사용자 지정 serialization을 수행 할 수 있지만 '자동 순차 나열'이 이미 구현되어 있기 때문에 항상 필요하지는 않습니다 이 개념에.

대괄호는 예제에 나와있는대로 적용 할 때 사용되는 구문입니다.

+1

대괄호가 무엇을 의미하는지에 대해 (투표로) 명확하게 답변했지만, HenkHolterman의 대답이 나와 현재 진행중인 프로젝트에 대해 추가적으로 설명했습니다. 그래서 1을 더한 것입니다.하지만 제게 대답하지 않은 것에 화를 내지 마십시오. – Dave

+1

그것은 단지 공정하고이 장소의 큰 장점 중 하나입니다. 대답하는 방법에 대한 다양한 견해, 물론 많은 사람들의 조언입니다. (: –

1

당신은

는 XmlSerializer를이 직렬화하거나 들어있는 개체를 직렬화 복원 할 때 공용 필드 또는 속성이 XML 요소를 나타내는 것을 나타냅니다 당신의 유형 직렬화 할 때.

2

이것은 속성입니다.

MSDN은 here에 대해 특성 (해당 내용, 의미 및 의미)을 제공합니다.

관련 문제