根据MSDN
尽管在.NET框架的2.0版本中,Microsoft框架包含了XmlTextWriter类(这是XmlWriter类的具体实现),但建议的做法是使用create方法创建XmlWriter实例。
那么,如果我们不得不使用XmlWriter,那么拥有XmlTextWriter的目的是什么呢?它为什么会存在?
发布于 2014-09-27 14:27:56
XMLWriter是一个抽象类,它充当所有XML编写器的基本类型。它是在.NET 1.1中引入的。XMLTextWriter是许多可能的XMLWriter实现之一,特别是用来创建文本表示。它也是在.NET 1.1中引入的。
现在,在.NET 2中,XMLWriter类被扩展为包含额外的静态Create方法,例如XMLWriter.Create(string)将XML写入文件。这些方法创建实现XMLWriter的内部类型的对象(因此它使用的实际类型不可见)。这样,您就不必担心实际的实现,而只需使用公共的基本类型XMLWriter即可使用。
这些Create方法可以完全取代以前的XMLTextWriter,但是由于.NET框架希望保持向后兼容,所以必须保持XMLTextWriter,尽管XMLWriter现在能够处理这些情况。
发布于 2014-09-27 14:30:17
XmlTextWriter类是XmlWriter抽象类的实现之一。
文本有点误导,因为实际上不可能创建抽象XmlWriter类的实例。当您调用Create方法时,它将创建一个从XmlWriter继承的类的实例。例如,调用流的Create将返回XmlWellFormedWriter类的实例。
拥有一个Create方法来获取一个实例的目的是,它可以使用不同的类,这取决于您想要做什么。您告诉框架创建一个适当类的实例,这样就不必担心它了。
https://stackoverflow.com/questions/26075559
复制相似问题