gpt4 book ai didi

c# - 创建字典

转载 作者:行者123 更新时间:2023-11-30 19:37:59 27 4
gpt4 key购买 nike

在带有 Unity 的 C# 中,我正在尝试创建类字典。

所有类都继承自具有许多虚拟方法的基类(构建脚本)

我已经这样设置了我的字典:

Dictionary<string, BuildingScript> buildingScripts = new Dictionary<string, BuildingScript>();

我正在尝试将其添加到字典中:

buildingScripts.Add("Farm", FarmScript);
buildingScripts.Add("Hunter", HunterScript);
buildingScripts.Add("Fisher", FisherScript);

编译器正在重新识别继承,所以我正在尝试找出我遗漏的内容。

错误信息是:

  • error CS0119: Expression denotes a type', where avariable', value' ormethod group' was expected
  • The best overloaded method match for 'System.Collections.Generic.Dictionary.Add(string, BuildingScript)' has some invalid arguments
  • Argument #2' cannot convertobject' expression to type `BuildingScript'

最佳答案

您的词典已声明为 Dictionary<string, BuildingScript> , 所以它的值应该是 BuildingScript实例 .

考虑差异:FarmScript本身是类型,但是 new FarmScript()是该类型的实例。

所以你的代码应该是这样的:

buildingScripts.Add("Farm", new FarmScript());
buildingScripts.Add("Hunter", new HunterScript());
buildingScripts.Add("Fisher", new FisherScript());

关于c# - 创建字典<string, class>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740974/

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