这看起来确实令人困惑,但我想创建一个字典,其中包含不同的类作为值,然后使用字母作为键。当我调用那个字典中的一个键时,我需要它表现得好像我正在输入“new ClassInDictionary”。
这样我就可以创建一个文本文件,其中包含定义不同块的不同符号。
为了帮助解决问题,这是我当前的代码:
blockIdentifier.Add("=", new BlockAir()); // Define which class corresponds to which letter
blockIdentifier.Add("-", new BlockDirt());
for (int mapX = 0; mapX < mapWidth; mapX++)
{
for (int mapY = 0; mapY < mapHeight; mapY++)
{
try
{
Block block = blockIdentifier[mapSplit[mapY].Substring(mapX, 1)]; // Simply find which letter to use, let's pretend it's: "="
// The line above should be creating a new instance of the class BlockAir
block.blockX = mapX * 45;
block.blockY = mapY * 45;
mapList[mapY, mapX] = block;
}
catch (Exception)
{
}
}
}
变量块标识符:
public static Dictionary<string, Block> blockIdentifier = new Dictionary<string, Block>();
和 BlockDirt:
public class BlockDirt : Block
{
public int hi;
public BlockDirt()
: base("Dirt Block.png", 0, 0, true)
{
}
}
我只需要调用 blockIdentifier["="] 并获取类 BlockDirt() 的新实例,我该怎么做?