gpt4 book ai didi

c# - 不能在同一个类中使用声明的字典?

转载 作者:行者123 更新时间:2023-11-30 19:18:04 25 4
gpt4 key购买 nike

好吧,我不知道到底发生了什么。

我声明并初始化了一个字典:

public Dictionary<byte, Color> blobType = new Dictionary<byte, Color>();

但我不能在类里面使用它,intelliscence 也不会显示它。如果我尝试像这样使用它,我会收到错误消息:

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:大写 Add,同样的事情。错误:

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

最佳答案

您不能在 C# 的方法之外执行代码。要将一组默认条目添加到字典中,请将它们添加到 Blob 类的构造函数中。

关于c# - 不能在同一个类中使用声明的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14026393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com