【问题标题】:Must have a body because it is not marked abstract, extern, or partial必须有正文,因为它没有标记为抽象、外部或部分
【发布时间】:2016-11-09 07:44:27
【问题描述】:

不完全确定我收到此错误的原因。上下查看代码几个小时,但我认为这是一个简单的修复。一些代码是从视频中复制过来的,他的作品非常好,所以我不知道为什么它会给我带来任何问题:

using UnityEngine;
using System.Collections;

public class GoldPerSec : MonoBehaviour {


    public UnityEngine.UI.Text gpsDisplay();
    public Click click;
    public ItemManager[] items;


    void Start() {
        StartCoroutine(AutoTick());
    }

    void Update() {
        gpsDisplay.text = GetGoldPerSec() + " gold/sec";
    }

    public int GetGoldPerSec(){
        int tick = 0;
        foreach (ItemManager item in items) {
            tick += item.count * item.tickValue;

        }
        return tick;
    }

    public void AutoGoldPerSec() {
        click.gold += GetGoldPerSec();
    }

    IEnumerator AutoTick() {
        while (true) {
            AutoGoldPerSec();
            yield return new WaitForSeconds(1);
        }
    }
}

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    问题出在

    public UnityEngine.UI.Text gpsDisplay();
    

    这是一个方法声明,但是方法里面没有代码。

    从上下文中不清楚这实际上应该是什么。如果它是一个方法,你可以在这个类中实现它,比如

    public UnityEngine.UI.Text gpsDisplay()
    {
         return <something useful>;
    }
    

    也许它应该是一个方法,你想在一个子类中实现它,然后将该类标记为抽象:

    public abstract class GoldPerSec : MonoBehaviour
    

    或许它应该是一个字段,然后使用

    public UnityEngine.UI.Text gpsDisplay;
    

    没有括号。

    【讨论】:

    • 要么删除 () 使其成为成员变量,要么添加代码块 { } 使其真正成为方法。
    • @Grisgram:我正在添加它。谢谢。
    • 我并不是想将 gpsDisplay 设置为一个函数,所以这就是导致问题的原因。非常感谢!
    【解决方案2】:

    我在方法主体前错误地添加了 ; 时出现此错误。删除;停止编译器错误。 ==我的代码。在第一行看; ===

          public string ReadPopMessage(String identifierOfElement, String elementKey);
            {
    
            //string elementID;
            elementID = ConfigurationManager.AppSettings.Get(elementKey);
            Console.WriteLine("The value of" + elementKey + "is " + elementID);
            //MessageBox.Show(elementID);
    
            string strPopupText = oWD.FindElement(By.CssSelector(elementID)).Text;
            return elementID;
    
            }
    

    【讨论】:

    • 虽然您的回答确实为可能遇到类似情况的人提供了帮助,但鉴于发布的代码示例,它不适用于原始问题。
    猜你喜欢
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多