我相信很多人会认为这是重复你看到标题的第二个。请忍受我。面对一个复杂的问题。 :)
感谢您阅读此处: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"]);
}
请帮我解决代码的替代方法。我确信这个课程是抽象的,所以我们不能在课堂上改变它。
答案 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"]);