0

我有界面

INews.cs
public interface INews{
   int Id {get; set;}
   string Name {get; set;}
   void Add(News news);
   void Remove(News news);
}

我有实现该接口的 News.cs

public class News : INews {
  public int Id {get; set;}
  public string Name {get; set;}
  public void Add(News news);
  public void Remove(News news);

}

在编译时,我有以下消息 必须声明一个正文,因为它没有标记为抽象

这是否意味着我应该在 News 类的构造函数中声明 body ?

4

5 回答 5

9

您的功能需要机构:

public void Add(News news)
{

} 

public void Remove(News news)
{

}

没有主体的函数只允许在抽象类中。

于 2013-05-16T07:54:20.343 回答
9

它是你的实现

public class News: INews
{
  public int Id {get; set;}
  public string Name {get; set;}
  public void Add(News news); //<-- invalid
  public void Remove(News news); //<-- invalid
}

至少应该是

public class News: INews
{
  public int Id {get; set;}
  public string Name {get; set;}
  public void Add(News news){

  }

  public void Remove(News news){

  }
}
于 2013-05-16T07:54:20.610 回答
4

这意味着你没有让你的News班级成为abstract班级。

在一个不是类的abstract类中,方法必须有实现,而不仅仅是声明。

于 2013-05-16T07:54:38.890 回答
3

如果方法不是abstract类,则该方法必须声明一个主体

public void Add(News news)
{

}

public void Remove(News news)
{

}
于 2013-05-16T07:55:34.420 回答
0

我希望这行得通。

主体必须包含在花括号内

溶胶:

public void Add(News news)
{

}

public void Remove(News news)
{

}

应该有任何抽象类的声明

于 2021-10-29T10:42:54.640 回答