As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center获取指导。
7年前关闭。
我查看了
7年前关闭。
我查看了
System.Xml.XmlWriter
类,发现它是一个抽象调用类,您必须使用Create方法创建新对象,我想知道OOP背后的原因是什么,为什么XmlWriter
不能设计得更像System.IO
中的类。 最佳答案
XmlWriter
是可编写Xml文档的类的抽象基类。在docs中,您可以看到从XmlWriter
派生了各种类,这些类将Xml写入各个目标。 XmlWriter
本身只是为Xml编写者定义了公共接口和一些肤浅的实现。
这类似于abstract TextWriter
class。
静态Create
方法似乎存在,因为在某些情况下(例如写入文件),建议使用特定的子类。该子类由各自的Create
方法实例化。
请注意,用于写入文件的XmlWriter.Create
不一定会创建XmlTextWriter
。 .NET框架代码可能会决定不同的(可能是内部的)类型更适合您的特定环境和设置。调用静态Create
方法时,不必关心实际实例化的类型。
关于c# - XmlWriter设计背后的OOP推理是什么? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15367894/
10-09 13:00