首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无缘无故需要System.Xml

无缘无故需要System.Xml
EN

Stack Overflow用户
提问于 2013-03-08 03:13:28
回答 2查看 707关注 0票数 4
代码语言:javascript
复制
protected override DataTable internalExecuteTable(string SQL)
{
    DbDataReader reader = ExecuteReader(SQL);
    DataTable dt = new DataTable();
    dt.Load(reader);
    reader.Close();
    return dt;
}

"internalExecuteTable“带有下划线,并抛出"System.Xml”未被引用的错误,我应该添加"System.Xml“引用。但是为什么呢?

我使用上面的代码从SQLite数据库(System.Data.SQLite包装器)读取数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-08 03:21:07

您正在间接地使用System.XmlDataTable依赖于System.Xml程序集中定义的类。如果您查看该类的文档,或者只是在IDE中探索它,您会注意到它包含许多读取和写入XML的方法,例如。

通过使用System.Data.DataTable,您还需要引用System.Xml

票数 10
EN

Stack Overflow用户

发布于 2013-06-05 20:14:37

DataTable被according to MSDN声明为

代码语言:javascript
复制
[SerializableAttribute]
public class DataTable 
     : MarshalByValueComponent,
       IListSource,
       ISupportInitializeNotification,
       ISupportInitialize,
       ISerializable,
       IXmlSerializable

IXmlSerializable声明了使用XmlReaderXmlWriterXmlSchema作为输入或输出的方法,所有这些方法都分别在System.Xml.dll中定义。

如果你深入研究代码(使用官方源代码或IL/Decompiler),你可能会注意到一个属性用法:

代码语言:javascript
复制
[XmlSchemaProvider("GetDataTableSchema")]
//...
public class DataTable : //...

不幸的是,MSDN的家伙没有在备注部分明确地包含对System.Xml的引用-可能是因为通常的项目模板无论如何都会包含它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15279751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档