그룹화 된 목록을 직렬화하려고합니다. 하지만 오류가 발생했습니다. 그룹화 된 목록을 직렬화 할 수 있습니까? 그렇다면 어떻게?그룹화 된 목록을 직렬화 할 수 있습니까?
오류 :
Cannot serialize interface System.Linq.IGrouping`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[MyProject.MyNamespace.Elements, MyProject.MyNamespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].
코드 :
MemoryStream memoryStream = new MemoryStream();
List<IGrouping<string, Elements>> lstGroupedElements = listElements.GroupBy(member=> member.Type).ToList();
XmlSerializer objXmlSerializer = new XmlSerializer(typeof(List<IGrouping<string, Elements>>));
objXmlSerializer.Serialize(memoryStream, lstGroupedElements);
왜 당신이 원하는 수행하는 방법을 그렇게? 그룹화 정보는 중복되어 저장하지 않아도됩니다. 목록을 그룹화하지 않고 저장하고 비 직렬화 할 때 그룹을 추가 할 수 있습니다. –
실제로 그룹화 된 요소가있는 XML 파일을 생성하고 싶습니다. 나는 그것을 할 수있는 많은 방법이 있다는 것을 압니다. 하지만 제 질문은 "그룹화 된 목록을 직렬화 할 수 있습니까?" – Sam
예.하지만 그룹 구조/클래스를 직접 작성해야합니다. 인터페이스를 직렬화 할 수 없기 때문입니다. 어떻게 deserialization 작동합니까? 인터페이스이기 때문에 새로운 IGrouping()을 할 수 없습니다. –