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);
}
}
}
这不是一个有效的属性声明:
public int Width()
{
get { return PlayerTexture.Width; }
}
()
部分是不正确的-看起来你试图声明一个方法而不是一个属性。你应该有:
public int Width
{
get { return PlayerTexture.Width; }
}
(我没有检查其余的,但很可能是所有的错误)