必须声明一个正文,因为它没有标记为抽象或外部(CS0501)

时间:2011-12-30 21:33:32

标签: c# compiler-errors automatic-properties

我是C#的新手并且不知道它的语法。但我对其他语言(Java,C ++)有所了解。 我下载了GLWidget project并尝试构建它。但是我在这些行({ get; set; })收到错误CS0501:

namespace Gtk
{
    [ToolboxItem(true)]
    public class GLWidget : DrawingArea, IDisposable
    {
        IGraphicsContext graphicsContext;
        static int graphicsContextCount;

        /// <summary>Use a single buffer versus a double buffer.</summary>
        [Browsable(true)]
        public bool SingleBuffer { get; set; }

        /// <summary>Color Buffer Bits-Per-Pixel</summary>
        public int ColorBPP { get; set; }

        /// <summary>Accumulation Buffer Bits-Per-Pixel</summary>
        public int AccumulatorBPP { get; set; }

        /// <summary>Depth Buffer Bits-Per-Pixel</summary>
        public int DepthBPP { get; set; }

        /// <summary>Stencil Buffer Bits-Per-Pixel</summary>
        public int StencilBPP { get; set; }

        /// <summary>Number of samples</summary>
        public int Samples { get; set; }

        /// <summary>Indicates if steropic renderering is enabled</summary>
        public bool Stereo { get; set; }

        IWindowInfo windowInfo;

为什么这个人这样做?这是一个微不足道的错误吗?

2 个答案:

答案 0 :(得分:6)

您使用的是哪个版本的编译器?此代码使用的是Auto-Implemented Properties,可在C#3.0及更高版本中使用。

由于我假设MonoDevelop使用Mono compiler'mcs'(和varients),这个问题取决于Mono的版本。 Mono 2.6支持C#3.0(以及4.0的预览版)。也许你只需要升级Mono和/或MonoDevelop。

答案 1 :(得分:-2)

自动属性是在c#3.0中引入的,因此请尝试更改框架版本。