【发布时间】:2012-11-24 05:31:23
【问题描述】:
可能重复:
Why XML-Serializable class need a parameterless constructor
我正在尝试在我的代码中序列化一个元组:
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 可以被序列化。
【问题讨论】:
-
阅读语句:System.Tuple`2[System.String,System.String] 无法序列化,因为它没有无参数构造函数 ... 很清楚! (见反编译:pastebin.com/b6vUMuX3)
-
CodeExtractor 和 StatementNode 都可以序列化吗?
标签: c# serialization tuples