thể trùng lặp:
Why XML-Serializable class need a parameterless constructorTại sao tôi không thể tuần tự hóa một tuple trong C#?
Tôi đang cố gắng để serialize một tuple trong mã của tôi:
List<List<Tuple<String, CodeExtractor.StatementNode>>> results = null;
results = extractor.ExtractSourceCode(sourceCode);
FileStream fs = new FileStream(@"C:\Projects\Test\ast.xml", FileMode.Create);
XmlSerializer formatter = new XmlSerializer(
typeof(List<List<Tuple<String, CodeExtractor.StatementNode>>>));
formatter.Serialize(fs, results);
fs.Close();
nhưng nó đã thất bại và bắt ngoại lệ như thế này:
System.Tuple`2 [System.String, CodeExtractor.StatementNode] không thể được tuần tự hóa bởi vì nó không có một hàm tạo parameterless.
và tôi chắc chắn rằng CodeExtractor.StatementNode
có thể được đăng.
đọc báo cáo kết quả: _System.Tuple '2 [System.String, System.String] không thể được tuần tự hóa bởi vì nó không có một constructor parameterless_ ... nó khá rõ ràng! (xem decompilation: http://pastebin.com/b6vUMuX3) –
CodeExtractor và StatementNode có thể tuần tự hóa được không? –
xem câu hỏi này: http://stackoverflow.com/questions/267724/why-xml-serializable-class-need-a-parameterless-constructor – GolfWolf