2016-07-24 3 views
-2

Salut, je suis en train d'écrire un code qui établira un compte à rebours en C#, mais je reçois une erreur de compilation get ou à accesseur définir prévuComment résoudre « get ou à accesseur définir attendu » erreur de compilation

En regardant autour de moi, il semble que je manque quelque chose() quelque part, mais je ne suis pas vraiment sûr de l'origine du problème.

Voici le code qui me pose problème, toute aide ou conseil serait apprécié.

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; 
     } 
    } 
+6

Un '{' est manquant entre public static TimeLeft' et 'get'. –

+0

Ceci est hors-sujet selon les règles: "Cette question a été causée par un problème qui ne peut plus être reproduit ou ** une simple erreur typographique ** .Tandis que des questions similaires peuvent être sur le sujet ici, celui-ci a été résolu d'une manière il est peu probable d'aider les futurs lecteurs. ** Cela peut souvent être évité en identifiant et en examinant de près le programme le plus court nécessaire pour reproduire le problème avant de poster. ** –

+1

Il manque le type de retour ('TimeSpan') et un' {' –

Répondre

0

Eh bien, tout d'abord, vous essayez de définir TotalTime, qui est un DateTime, à un type de TimeSpan, de sorte que vous devez changer le type de TotalTime à celle de TimeSpan. Ensuite, le type de TimeLeft n'est jamais déclaré; donc entre static et TimeLeft vous devriez mettre TimeSpan pour définir son type. En outre, vous devez placer des crochets autour de l'accesseur get. Dans l'ensemble, votre code devrait ressembler à ceci, d'après ce que je peux dire:

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; 
     } 
    } 
}