抽象类的实例不起作用

时间:2016-08-29 04:23:17

标签: c# asp.net web-services class abstract-class

我相信很多人会认为这是重复你看到标题的第二个。请忍受我。面对一个复杂的问题。 :)

感谢您阅读此处:D

所以,我有一个名为InfoClass的类,它是抽象的 -

public abstract class InfoClass
{
    public abstract string Brand { get; set; }
    public abstract string BrandCount { get; set; }
}

我有一项服务,我在其中列出了一个列表......然后尝试制作相同的实例。但是不能 -

[WebMethod]
    public void GetInfoList()
    {
        List<InfoClass> listInformations = new List<InfoClass>();
        .
        .
        .      //Going ahead in the program I've created a reader
        .
        .
        .
        .
            while (rdr.Read())
            {
                //This is the block not working
                InfoClass Advertises = new InfoClass();
                Advertises.Brand = Convert.ToString(rdr["Brand"]);                    
            }

请帮我解决代码的替代方法。我确信这个课程是抽象的,所以我们不能在课堂上改变它。

2 个答案:

答案 0 :(得分:1)

我更多地使用Java,但c#似乎相似。

您可以在documentation

中看到抽象类的实例化
  

它们是无法实例化的类,并且经常出现   部分实施,或根本没有实施。

因此new InfoClass();无效。 您必须使InfoClass不是抽象的,或者创建另一个继承InfoClass的类并对其进行实例化。

答案 1 :(得分:1)

使用其他类型继承抽象类型,并实现抽象方法(如果有)

public class ConcreteInfoClass : InfoClass {}

现在就这样使用

InfoClass Advertises = new ConcreteInfoClass();
Advertises.Brand = Convert.ToString(rdr["Brand"]);