2012-04-03 4 views

답변

6

는 .NET 시리얼 라이저와 직렬화에 관해서 두 가지 방법이 있습니다 : 속성의

화이트리스트는 :

이것은 recommenden 방법입니다. DataContract 속성을 사용하여 클래스를 명시 적으로 표시합니다. 이 경우 DataMember 특성으로 표시된 속성 만 출력에 포함됩니다.

직렬화하지 않으려는 속성의 검은 목록을 만드는 대신 화이트 목록을 만들고 직렬화하려는 모든 속성을 표시하는 것이 좋습니다. 이것은 개발자가 새로운 속성을 도입 할 때 속성을 직렬화하기를 원하는 것으로 명시 적으로 명시해야하기 때문에 더 안전합니다. 속성의

블랙리스트는 당신이 정말로 검은 목록을 수행하려면 다른 사람에 의해 지적

, 당신은 IgnoreDataMember 속성을 사용할 수 있습니다. 이 경우 DataContract 속성을 사용하여 클래스를 표시 할 필요가 없습니다. 대신 제외 할 속성을 IgnoreDataMember으로 표시하십시오.

이 내용이 선택 사항과 장점/단점을 설명하는 데 도움이되기를 바랍니다.

편집 : 내 대답

두 가지 옵션이 있습니다
2

, 내가 생각할 수를 확장.

1- 속성에서 [IgnoreDataMember] 속성을 사용해보십시오.

2 - 속성을 [DataMember] 속성으로 표시하지 마십시오.

희망 하시겠습니까?

관련 문제