必须申报一个机构,因为它没有标记为抽象或外部? C#/ ASP.NET

我有一个正常的Web表单,后面有代码,在这个代码后面我可以实例化我在根文件夹中的几个类,例如:

public partial class _Default : System.Web.UI.Page { Helper helper = new Helper(); protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Initialise(); } } 

在Helper类中:

 public class Helper { 

它工作正常但我现在想将我的类文件(例如Helper.cs)移动到app_code文件夹但是当我运行应用程序时我得到错误

 SharePoint sharePoint = new SharePoint(); public string id { get; set; } must declare a body because it is not marked abstract or extern 

是什么导致了这个问题,我该如何解决?

提前致谢

 public string id { get; set; } 

是一个自动属性,这些是在C#v3.0 / .Net v3.5中添加的,因此请确保您在项目设置中定位此版本或更高版本。 如果您希望定位早期版本,则需要使用具有支持字段的属性。

你有这个项目的TargetFramework =“3.5”吗? 看看这篇文章 。

 public string id { get; set;} 

这一行是问题,上面已经回答了这个问题,但我正在添加一个带代码的aswer,以说明如何为那些不熟悉C#的人提供支持字段。 对于public string id { get; set; }这是支持字段的外观示例 public string id { get; set; } public string id { get; set; }

  private string p_id=""; public string id { get { return p_id; } set { p_id = value; } } 

请注意初始化的私有字符串p_id ,它包含公共字符串id的实际值。 另请注意, value由编译器定义,并在此实例中强制转换为字符串。 如果属性idint ,则value将被转换为int(整数)而不是字符串。