【发布时间】:2018-10-14 11:24:24
【问题描述】:
好的,所以我刚刚开始编写代码并创建了一个按钮,现在我正在编写它。我的代码总是给我这 3 个错误,无论我如何尝试排除故障。请帮忙?
public class MainButtonClick : MonoBehaviour {
public GameObject textBox;
public int ClickTheButton { get; set; } {
textBox.SetActive{true};
}
}
错误:
错误 1:
Assets/Scripts/MainButtonClick.cs(3,45): error CS9010: Primary constructor body is not allowed
错误 2:
Assets/Scripts/MainButtonClick.cs(4,25):错误 CS1525:意外符号 `{'
错误 3:
Assets/Scripts/MainButtonClick.cs(4,31): 错误 CS1002: ;预计
这些可能是一些非常简单的编码问题,但我很难弄清楚,因为我不仅是 c# 的初学者,而且我还是整个编码的初学者。
编辑 1:
之前的一切都已解决,我的代码应该可以正常工作,但又出现了 2 个错误..
我的代码:
public class MainButtonClick : MonoBehaviour {
public GameObject textBox;
public int ClickTheButton () {
textBox.SetActive(true);
}
}
错误 1:
Assets/Scripts/MainButtonClick.cs(1,32):错误 CS0246:找不到类型或命名空间名称 MonoBehaviour。您是否缺少使用指令的 UnityEngine?
错误 2:
Assets/Scripts/MainButtonClick.cs(2,12):错误 CS0246:找不到类型或命名空间名称 GameObject。您是否缺少使用指令的 UnityEngine?
编辑 2:
呃..另一个问题!!!
我的代码:
using UnityEngine;
public class MainButtonClick : MonoBehaviour {
public GameObject textBox;
public int ClickTheButton () {
textBox.SetActive(true);
}
}
错误 1:
Assets/Scripts/MainButtonClick.cs(4,16):错误 CS0161:MainButtonClick.ClickTheButton():并非所有代码路径都返回值
【问题讨论】:
-
当你声明
{ get; set; }时,它就变成了一个属性。现在将其视为具有一些附加功能的变量。但看起来您希望ClickTheButton成为一个函数。所以删除{ get ; set }并尝试再次编译。它看起来像这样 `public int ClickTheButton () { textBox.SetActive{true}; }` -
感谢您的快速回复!我一定会尝试一下,希望它能奏效!谢谢!编辑:它摆脱了第一个错误,但最后两个错误仍然存在..有什么建议吗? @thebenman 我可能需要用“;”替换“()”,因为()没有任何功能。
-
函数名后仍然需要'()',即使它不包含任何参数。
-
行 textBox.SetActive{true};应该是 textBox.SetActive(true);注意大括号的变化。
-
感谢 Poul 和 Ozair,我将更改我的代码并让您知道结果! :) 编辑:出现了全新的问题!!检查发布以进行编辑。
标签: c#