为什么XmlDictionaryWriter.CreateBinaryWriter可以返回抽象类的实例?

时间:2015-09-15 14:54:54

标签: abstract

XmlDictionaryWriter是一个抽象类 为什么它有一个构造函数?

为什么它的方法" CreateBinaryWriter"返回这个抽象类的实例?
我理解CreateBinaryWriter传递一个流,这个"抽象"的实例。上课写道。 这让我想知道抽象"抽象"真的是...
通过对关键字摘要进行详细阐述的所有内容,这与图片不符 代码:

        MemoryStream WriteName(Name name)
        {
           var ms = new MemoryStream();
           var binary = XmlDictionaryWriter.CreateBinaryWriter(ms);
           var ser = new DataContractSerializer(typeof(FullName));
           ser.WriteObject(binary, name);
           return ms;
        }

可以s.o.解释一下吗?
THX

1 个答案:

答案 0 :(得分:0)

我看不到完整的XmlDictionaryWriter层次结构,但我认为XmlDictionaryWriter.CreateBinary()不是一个构造函数,而是一个静态方法;我们可以看到使用静态方法实现工厂方法模式 可以称之为抽象类'静态方法,因为静态方法不需要对象实例(您可以在Difference between Static methods and Instance methods阅读更多内容)