繁体   English   中英

无法识别C#“获取”访问器

[英]C# 'get' accessor not recognised

http://xbox.create.msdn.com/zh-CN/education/tutorial/2dgame/creating_the_player中 ,指示使用此代码:

public int Width()
    {
        get { return PlayerTexture.Width; }
    }

    public int Height()
    {
        get { return PlayerTexture.Height; }
    }

但是,“ get”访问器似乎根本无法识别。 我收到以下错误:

  • 名称“ get”在当前上下文中不存在。

  • 只能将赋值,调用,递增,递减和新对象表达式用作语句。

我是否错过了“正在使用系统(某事)”行? 在调查我的问题时,我已经看到无数次成功地使用了此方法,但是我找不到遇到相同问题的任何人。

我将XNA Game Studio 4.0与Microsoft Visual C#2010 Express一起使用。 这是我对Player.cs类的完整代码:

using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Shooter
{
class Player
{
    private Texture2D PlayerTexture;
    public Vector2 Position;
    public bool Active;
    public int Health;

    public int Width()
    {
        get { return PlayerTexture.Width; }
    }

    public int Height()
    {
        get { return PlayerTexture.Height; }
    }

    public void Initialise(Texture2D texture, Vector2 position)
    {
        PlayerTexture = texture;
        Position = position;
        Active = true;
        Health = 100;
    }

    public void Update()
    {
    }

    public void Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.Draw(PlayerTexture, Position, null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f);
    }
}
}

这不是有效的属性声明:

public int Width()
{
    get { return PlayerTexture.Width; }
}

()部分不正确-似乎您正在尝试声明一个方法而不是一个属性。 你应该有:

public int Width
{
    get { return PlayerTexture.Width; }
}

(我没有检查其余部分,但这很可能就是所有错误。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM