'对象'不包含处理'的方法。 C#编译器错误

时间:2017-01-17 19:18:06

标签: c# visual-studio

我正在尝试为我的家庭作业编译和测试我的代码,并且Visual Studio正在抛出错误,说“' object'不包含“配置”的方法,我无法弄清楚为什么它不会让我编译我的代码。作业如下:

  

Rectangle类:创建一个Rectangle类。该类具有属性长度和宽度,每个属性默认为1.它具有只读属性,用于计算矩形的周长和面积。它具有长度和宽度的属性。 set访问器应验证长度和宽度是否都是大于0.0且小于20.0的浮点数。写一个应用程序来测试类Rectangle。

以下是矩形类的代码:

TSubclassOf<class ASpeedyPawn> MySpeedyPawn;

以下是要测试的应用的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApplication16
{
    class Rectangle
    {
        private float length = 1;
        private float width = 1;

        public Rectangle(float length, float width)
        {
            Length = length;
            Width = width;
        }
        public float Length
        {
            get
            {
                return this.length;
            }
            set
            {
                if (value <= 0.0f || value > 20.0f)
                {
                    this.length = 1.0f;
                }
                else
                {
                    this.length = value;
                }
            }
        }
        public float Width
        {
            get
            {
                return this.width;
            }
            set
            {
                if (value <= 0.0f || value > 20.0f)
                {
                    this.width = 1.0f;
                }
                else
                {
                    this.width = value;
                }
            }
        }
        public float Perimeter
        {
            get
            {
                return(Length + Width)*2;
            }
        }
        public float Area
        {
            get
            {
                return(Length*Width);
            }
        }

        public override string ToString()
        {
            return string.Format("Perimeter is {0:F2} and Area is {1:F2}", Perimeter, Area);
        }

    }
}

当我去编译它时,它会引发两个错误:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace WindowsFormsApplication16
{
    class TestProgram
    {
        static void main(string[] args)
        {
            Rectangle rect = new Rectangle(19.5f, 15.9f);
            Console.WriteLine(rect);
            Console.ReadLine();
        }
    }
}

以下是错误所在的代码:

Error   1   'WindowsFormsApplication16.Form2.Dispose(bool)': no suitable method found to 
override    c:\users\kyle\documents\visual studio 2012\Projects\WindowsFormsApplication16\
WindowsFormsApplication16\Form2.Designer.cs 14  33  WindowsFormsApplication16

Error   2   'object' does not contain a definition for 'Dispose'    
c:\users\kyle\documents\visual studio 2012\Projects\WindowsFormsApplication16\
WindowsFormsApplication16\Form2.Designer.cs 20  18  
WindowsFormsApplication16

任何人都可以对此有所了解,并让我知道它为什么不能编译?

2 个答案:

答案 0 :(得分:0)

Form2必须来自一个类...我认为它应该是&#34; Form&#34;。创建一个新项目/添加一个新表单并查看它派生的类。你可能偶然删除了它。

答案 1 :(得分:-1)

我最近在将表单导入项目时遇到此错误。

导入表单后出现错误,我更改了main.cs代码文件中的命名空间,但是我没有更改相应designer.cs文件的命名空间。当我匹配名称空间时,错误消息就消失了。