如何在我的game1类public中创建一个数组

时间:2012-03-28 01:39:29

标签: c# multidimensional-array xna-4.0

这是我用来定义数组的代码,这段代码在我的Initialize()之上:     public Tile[,] tileArray; 这是我的受保护的overover void Initialize()中的代码声明它:     Tile[,] tileArray = new Tile[gridScope, gridScope];

Tile是一个用于表示我游戏的图块的类。

当我尝试运行此操作时,我确实收到了一个不一致的可访问性错误;但是,我不能在宣言面前公开,因为当时视觉工作室告诉我,publicTile期待;的无效表达。

我需要在其他类中引用这个数组,所以我可以操作tile,但我不知道如何使它一直公开。

如何公开tileArray

2 个答案:

答案 0 :(得分:1)

initialize()

您不需要Tile[,](这将创建一个本地版本的tileArray,而不是全局版本)。

// This tileArray is in "class scope"
public Tile[,] tileArray;

void initialize()
{
    tileArray = new Time[gridScope, gridScope];
    ...

我甚至不会问你为什么要公开......

答案 1 :(得分:0)

这样做的最佳方法是封装方法并为数组提供gets和set。您不希望默认情况下将整个数组设为公共。需要更多关于你宣布它的地方的信息等以便更好地回答。

http://www.c-sharpcorner.com/UploadFile/ggaganesh/EncapsulationInCS11082005064310AM/EncapsulationInCS.aspx

http://msdn.microsoft.com/en-us/library/dd460654.aspx

这两个都描述了我在说什么。