Skip to main content
 首页 » 编程设计

c#之静态方法如何返回它自己的抽象类的对象之WebRequest

2024年02月04日29cyq1162

在处理 WebRequest 类时,我注意到它是一个抽象类,并且它有一个返回抽象类对象的创建方法。

我读到抽象类不能实例化,所以我想了解静态方法是如何返回对象的

WebRequest req = WebRequest.Create(URl); 

创建方法定义:

public static WebRequest Create(string requestUriString); 

参见 Documentation

我试过了,果然报错了

abstract class Test 
    { 
        public static Test Runmachine() 
        { 
            return new Test(); 
 
        } 
    } 

请您参考如下方法:

自己试试看。您可以返回同一类的更专业的非抽象版本,例如派生自 Test 的类。

abstract class Test 
{ 
    public static Test RunMachine() 
    { 
        return new SpecializedTest(); 
    } 
} 
 
class SpecializedTest : Test {}