好吧,我无法弄清楚到底发生了什么。
我声明并初始化了一个字典:
public Dictionary<byte, Color> blobType = new Dictionary<byte, Color>();
但是我不能在课堂上使用它,智能也不会显示它。如果我尝试像这样使用它,我会收到错误:
blobType.add(1, Color.White);
或者,如果我不初始化它并稍后尝试:
public Dictionary<byte, Color> blobType;
blobType = new Dictionary<byte, Color>();
仍然不能使用它,它就像它没有看到它在那里的 blobType。
我尝试重命名变量,在 VS2012 中进行,仍然发生同样的事情。因此,当该类是另一个类中的对象时,它可以在该类之外访问它。但是 VS2010 C# Express 在我声明它的类中拒绝承认它的存在。这是怎么回事?
根据要求,全班:
namespace blob
{
class Blob
{
public Texture2D texture;
public Dictionary<byte, Color> blobType = new Dictionary<byte, Color>();
blobType.add(1, Color.White);
public Vector2 position;
private float scale = 1;
public float Scale
{
get { return scale; }
set { scale = value; }
}
public Blob(Texture2D texture, float scale)
{
this.texture = texture;
this.Scale = scale;
}
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, position, null, Color.White, 0, Vector2.Zero, Scale, SpriteEffects.None, 0);
}
}
}
EDIT2:大写添加,同样的事情。错误:
Error 1 Invalid token '(' in class, struct, or interface member declaration C:\Users\Iurie\Documents\Visual Studio 2010\Projects\blob\blob\blob\Blob.cs 20 21 blob
Error 2 Invalid token ')' in class, struct, or interface member declaration C:\Users\Iurie\Documents\Visual Studio 2010\Projects\blob\blob\blob\Blob.cs 20 36 blob
Error 3 'blob.Blob.blobType' is a 'field' but is used like a 'type' C:\Users\Iurie\Documents\Visual Studio 2010\Projects\blob\blob\blob\Blob.cs 20 9 blob
Error 4 'Microsoft.Xna.Framework.Color.White' is a 'property' but is used like a 'type' C:\Users\Iurie\Documents\Visual Studio 2010\Projects\blob\blob\blob\Blob.cs 20 31 blob