C# 7.0 Unity 游戏开发问题,来自 4.0 的标识符不再起作用

C# 7.0 Unity game development issue, identifier from 4.0 does not work anymore

我正在为 Unity3D 开发一个 C#7.0 编码项目,并且正在为门构建一个脚本。这直接来自 Unity3.X Game Development Essentials 一书中的一个项目,该书是一位游戏教授向我推荐的。我正在自己学习代码,所以我受任何更新的支配。出于某种原因,代码需要一个标识符,但我不确定它可能需要什么标识符。就编码技能水平而言,我在没有 shell 的蜗牛之上,所以任何建议将不胜感激。在某个时间点,这段代码显然有效,因为它被出版在一本书中,并得到了高级员工的推荐。我认为代码已经更新了。有什么想法吗?有什么建议吗?非常感谢!

A screen shot of the issue in Visual Studio

嗯,问题出在定义你的方法的那一行 Door

一个方法可以从它的调用者那里获取输入参数。这些参数是变量,可从方法中获得。变量是指向内存的指针,它们的主要目标是保存信息。 C# 中的变量必须始终具有类型,没有类型,变量就没有意义。例如,您的变量可能是一个字符串(包含 "word"、"sentence with multiple words" 等),或整数(1、5、1000、-256 等),以及许多其他类型。

我相信你的方法定义应该有三个参数。在 C# 中,当定义一个参数(或变量)时,首先要写它的类型,然后是它的名字。像这样:string someVar,或者这样:int someOtherVar.

在您的情况下,您缺少这些名称。您的方法定义仅包含类型,以逗号分隔,但没有名称。命名您的参数,编译错误将消失。

例如,像这样:

public void Door(AudioClip doorOpenSound, bool openCheck, string animName)