必须声明一个正文,因为它没有标记为抽象

时间:2013-05-16 07:52:36

标签: c#

我有界面

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 个答案:

答案 0 :(得分:8)

你的职能需要身体:

public void Add(News news)
{

} 

public void Remove(News news)
{

}

只有抽象类才允许没有实体的函数。

答案 1 :(得分:7)

它的实施

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){

  }
}

答案 2 :(得分:3)

这意味着您尚未将News课程设为abstract课程。

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

答案 3 :(得分:3)

如果 abstract

,该方法必须声明一个正文
public void Add(News news)
{

}

public void Remove(News news)
{

}