Cannot Assign to 'Money' Because It Is a 'Method Group'

FCain 1026 picture FCain 1026 · Oct 2, 2014 · Viewed 8k times · Source

I'm doing a project for class, and I have to call the Money function from my Player class. However, I do not know how to change Money into something else that is not a Method Group. I don't know much programming, so my range of solutions is rather small. Also, the instructor said I cannot make any changes to the Main class, only to the Player class.

Here's the code for the Main class:

 p1.Money += 400;

And here's the 'Money' function from my Player class:

public int Money ()
    {
        return money;
    }

Answer

David S. picture David S. · Oct 2, 2014

Money() is a method. You can't set it - it only returns something (an int) (or nothing if void).

You need to change it to a property that can also be set:

public int Money {get; set;}

or, more elaborative:

private int _money;
public int Money { get { return _money; } set {_money = value;} }