不包含带有3个参数的构造函数

Jas*_*aft -2 c# constructor

我无法让main读取我的构造函数.它一直说我的类不包含一个带有3个参数的构造函数.这是公开的.我不知道我做错了什么,我在成功之前做过这个,这是我用来学习测试的练习题.

public class Actor
{
    //attributes 
    private string name;
    private int awardsNum;
    private bool SAGMember;

    //property 

    private string name
    {
        get { return name; }
        set { name = value; }

    }


    //constructor 

    public Actor(string Name, int AwardsNum, bool SAGMember)
    {
        this.name = Name;
        this.awardsNum = AwardsNum ++;
        this.SAGMember = false;
    }

    public Actor()
    {
    this.name = "Bob Smith";
    this.awardsNum = 0 ;
    this.SAGMember = false;
    }

    public override string ToString ()
    {
        return string.Format ("Actor: " + name + "\n" + " Number of Awards: " + awardsNum + "\n"+ "SAG Member: " + SAGMember);
    }

}


public static void Main (string[] args)
        {
            Actor a1 = new Actor ("Dustin Hoffman", 0 , true);
            Console.WriteLine (a1);

            Actor a2 = new Actor ();
            Console.WriteLine (a2);
        }
Run Code Online (Sandbox Code Playgroud)

Jas*_*ind 7

我认为你的Actor类没有因为这行而编译:

     set { name = Dustin Hoffman; }
Run Code Online (Sandbox Code Playgroud)

并且JIT错误只是混乱,因为结果是如何破坏你的代码.

也:

  Console.WriteLine("The Crowd applauds for " + name "with" + awardsNum "awards" );
Run Code Online (Sandbox Code Playgroud)

不能简单地坐在无人的土地上,它必须在某种方法或构造中.

根据下面的评论:您将name声明为具有相同大小写的字段和Property,这是无效的.它被宣布为SAGMember,但引用了SAGMEMBER.

您确实意识到Visual Studio中存在错误窗口,对吧?

  • "name"也被声明两次,SAGMember有不同的大写字母. (3认同)