c# & # 39;得到# 39;无法识别访问器

本文关键字:识别 访问 得到 | 更新日期: 2023-09-27 18:02:08

从http://xbox.create.msdn.com/en-US/education/tutorial/2dgame/creating_the_player,指示使用以下代码:

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

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

  • 名称'get'在当前上下文中不存在

  • 只有赋值、call、increment、递减和new对象表达式可以作为语句使用。

我是不是漏掉了"using System.(Something)"一行?在调查我的问题时,我看到这个方法成功地使用了无数次,但我找不到任何人遇到过同样的事情。

我使用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);
    }
}
}

c# & # 39;得到# 39;无法识别访问器

这不是一个有效的属性声明:

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

()部分是不正确的-看起来你试图声明一个方法而不是一个属性。你应该有:

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

(我没有检查其余的,但很可能是所有的错误)