我知道抽象类无法实例化。另外,我们不能在静态方法中使用new关键字。
我想知道XMLReader的静态Create方法如何在以下语句中返回其类的引用:
XmlReader xmlReader = XmlReader.Create()
由于
答案 0 :(得分:3)
它返回派生类的实例。它不直接构造XmlReader
。
abstract class A {
public static A Create() { return new B(); }
}
class B : A {
}
这是一个基本的想法,你可以通过在GetType()
的结果上调用XmlReader.Create
来判断它是做什么的。它不会返回typeof(XmlReader)
。