C#中“方法必须具有返回类型”的问题

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
}
}
namespace Rectangular
{
public class class1
{
double width,height;
public Rectangular(double width, double height) //这行提示有错
{
this.width = width;
this.height = height;
}
public double GetArea()
{
return width*height;
}
}
}
大神求助问题出在哪里,这是我照书上抄的呢,最近在自学。
错误提示:方法必须具有返回类型

1 问题出在构造函数名和类名不一致

    在C#中构造函数名必须和类名一样

    修改后的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
namespace Rectangular
{
    public class Rectangular    //回答者改
    {
        double width, height;
        public Rectangular(double width, double height)  //这行提示有错
        {
            this.width = width;
            this.height = height;
        }
        public double GetArea()
        {
            return width * height;
        }
    }
}

2 分析

    在C#中一般的方法必须具有返回类型,但构造函数除外

3 扩展

    在C#中,类名采用PascalCase的形式

    class1 显然不符合这一点,应写作Class1

    

    

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-21
public Rectangular(double width, double height) //这行提示有错
这个应该是构造函数,名字应该跟类名相同。也就是说,要么这里改成public class1,要么上面的public class class1改成public class Rectangular
第2个回答  2013-05-21
public Rectangular(double width, double height) //这行提示有错
你这是什么写法?构造函数也不是这样写的。应该是

public class1(double width, double height){ }

或者 public double Rectangular(double width, double height){ }

懂了吧?

你看看构造方法的命名规范就知道了。于类名同名,不带返回类型的!
第3个回答  2013-05-21
double width,height;
没有封装。
private double width;
Publec doble Width
{
get { return width; }
set { width= value; }
}

另外一个也是
你试试,我不确定能不能解决本回答被提问者和网友采纳
第4个回答  2013-05-21
Rectangular是构造函数,和类名同名。把class1改成Rectangular