【问题标题】:must declare a body because it is not marked abstract or extern? C#/ASP.NET必须声明一个主体,因为它没有标记为抽象或外部? C#/ASP.NET
【发布时间】:2016-05-06 22:24:26
【问题描述】:

我有一个普通的 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

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

提前致谢

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:
    public string id { get; set; }
    

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

    【讨论】:

      【解决方案2】:

      您的项目有 TargetFramework = "3.5" 吗?查看this post

      【讨论】:

        【解决方案3】:
        public string id { get; set;}
        

        这一行是问题所在,上面已经回答了这个问题,但我添加了一个带有代码的 aswer 来说明如何为 C# 新手添加支持字段。 这是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(整数)而不是字符串。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多