无法访问公共类属性

Luk*_*Zaz 0 c# variables class

我正在尝试创建一个应该在其代码中包含这些变量的新类:

class Map
{
    // Variable declaration
    public int Width { get; set; } // Width of map in tiles
    public int Height { get; set; } // Height of map in tiles
    public int TileWidth { get; set; }
    public int TileHeight { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,在Game1.cs中创建一个新的Map类之后,我似乎无法解决诸如Width和Height之类的问题.

public class Game1 : Microsoft.Xna.Framework.Game
{
    GraphicsDeviceManager graphics;
    public static SpriteBatch spriteBatch;

    // etc...

    // Class initialization
    Map map = new Map();

    map.Width = 10; // Won't work, says it is a 'field' but used like a 'type'
}
Run Code Online (Sandbox Code Playgroud)

我想我不是要设置正确的财产,但我不确定如何实际这样做.

尝试上述操作时,我收到两条错误消息:

'Deep.Game1.Map'是一个'字段',但像'类型'一样使用

类,结构或接口成员声明中的标记'='无效

Ser*_*rvy 7

您尚未将该代码放在可执行代码块中.你不能只在一个类型内部浮动一个属性设置器; 它需要在方法,构造函数等内部.

如果要在初始化字段时设置宽度,则可以使用对象初始值设定项语法:

private Map map = new Map() {Width = 10};
Run Code Online (Sandbox Code Playgroud)