我正在尝试在我的代码中序列化一个元组:
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();
但它失败了并捕获了这样的异常:
System.Tuple`2[System.String,CodeExtractor.StatementNode] 无法序列化,因为它没有无参数构造函数。
我确信CodeExtractor.StatementNode
可以序列化。