Visual Studio zegt “Methode moet een retourtype hebben”

Er staat

“Methode moet een retourtype hebben”

wanneer ik het probeer te debuggen.

Ik weet niet hoe ik deze les moet repareren

Dit is een spelersklasse voor een c#-gecodeerd 2D-spel

public class player
{
    public float moveSpeed;
    public Vector2 position;
    public Texture2D texture;
    //default constructer
    public Player(Texture2D tex, Vector2 startPos)
    {
        position  = startPos;
        texture   = tex;
        moveSpeed = 5.0f;
    }
    public void Update(GameTime gameTime)
    {
        //------------------------------------------
        //check for keyboard input(keyboard IF statements)
    }
    public void Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.Draw(texture, position, Color.White);
    }
}

Antwoord 1, autoriteit 100%

Je klasse is Playermaar de constructor is Player, omdat ze anders zijn, verwacht het dat Playereen methode is in plaats van een constructor

Verander de klassenaam in Playeren je zult goed zijn


Antwoord 2, autoriteit 43%

Je klasnaam is Playermet kleine letters. Wanneer de compiler de constructor voor klasse Player(hoofdletters) vindt, denkt hij dat het een methode is met de naam Playerzonder een gespecificeerd retourtype.

Dus hernoem je klasse dus gewoon in hoofdletters Player. C# is hoofdlettergevoelig, dus Playeren Playerzijn twee verschillende dingen.


Antwoord 3, autoriteit 29%

Je klasse is een speler in kleine letters, je constructor is een hoofdletter. Klasse naam & Constructor moet altijd identiek zijn en hoofdlettergevoelig zijn 🙂


Antwoord 4, autoriteit 10%

Ik denk dat het een typfout is. Je klassenaam is player is een kleine letter en je constructor heeft een hoofdletter, dus het wordt niet gezien als een cinstructor, maar als een methode die het void-sleutelwoord mist.

EDIT: Sorry voor wat se4ems een herhaald antwoord is, het lijkt erop dat veel mensen op bijna hetzelfde moment hebben geantwoord;)


Antwoord 5

Je klassenaam is “player”, maar de constructornaam is “Player” (hoofdletter van p). Dus de constructor wordt beschouwd als een methode zonder retourtype. Hernoem het als “speler” en het zal werken 🙂

Other episodes