如何解决';需要get或set访问器';编译错误

本文关键字:set 访问 错误 编译 get 需要 解决 何解决 | 更新日期: 2023-09-27 17:58:21

嗨,我正试图写一些代码来设置C#中的倒计时计时器,但我遇到了一个编译错误

环顾四周,我似乎在某个地方错过了一些(),但我真的不确定问题出在哪里

这是我遇到问题的代码,如果有任何帮助或建议,我们将不胜感激。

public static class TimeController { 
    static DateTime TimeStarted; 
    static DateTime TotalTime;
    public static void StartCountDown(TimeSpan totalTime)
    {
        TimeStarted = DateTime.UtcNow;
        TotalTime = totalTime;
    }
    public static TimeLeft
        get 
        {
        var result = DateTime.UtcNow - TimeStarted; //THIS IS THE LINE THAT HAS THR ERROR
            if (result.TotalSeconds <= 0)
                return TimeSpan.Zero;
            return result;
        }
    }

如何解决';需要get或set访问器';编译错误

首先,您试图将TotalTime(即DateTime)设置为TimeSpan的类型,因此需要将TotalTime的类型更改为TimeSpan的类型。接下来,TimeLeft的类型永远不会被声明;所以在staticTimeLeft之间应该放TimeSpan来定义它的类型。此外,还需要在get访问器周围加上括号。总而言之,根据我的判断,你的代码应该是这样的:

public static class TimeController { static DateTime TimeStarted; static TimeSpan TotalTime;
    public static void StartCountDown(TimeSpan totalTime)
    {
        TimeStarted = DateTime.UtcNow;
        TotalTime = totalTime;
    }
    public static TimeSpan TimeLeft
    {
        get
        {
            var result = DateTime.UtcNow - TimeStarted;
            if (result.TotalSeconds <= 0)
                return TimeSpan.Zero;
            return result;
        }
    }
}