2010-08-14 67 views
1

朋友我有使用獲取或設置類中的c# 當我使用獲取或設置給出錯誤(無效的令牌{類中) 請參閱下面的代碼,我有這個問題在它define獲取或設置在c#

static int abcd 
{ 
    get   
    { 
     return _abcd; 
    } 
} 

感謝名單

這是完整的代碼,我沒有這個問題與您的任何代碼,而只是這一點:

namespace ConsoleApplication2 
{ 
    class Program 
    { 
     class Car 
     { 
     private int _speed; 
     public int Speed; 
     { 
       get 
       { 
       return _speed 
       } 
      } 
     } 
    } 
} 
+3

你似乎在你的課堂上有一個額外的'}'。 – Oded 2010-08-14 14:37:11

+2

您在此處編寫的代碼非常好,問題可能出現在代碼中的其他位置。確保您擁有的每個代碼塊都已正確關閉。 – 2010-08-14 14:39:04

回答

8

您發佈的片斷是好的,因爲它是,同樣在錯誤方面,因爲它有正確的編號{}並按正確的順序。

看看你把它放在哪裏(可能在課外),或者在文件中尋找額外的}

更新:(以下問題編輯)

你的問題就在這裏:

public int Speed; // <-- ; should not be here 

和:

return _speed // <-- missing the ; 

的屬性應該是這樣來實現

public int Speed 
{ 
    get 
    { 
     return _speed; 
    } 
} 
+0

這是完整的代碼,我沒有任何代碼的這個問題,但只是這個: class Car { private int _speed; public int Speed; { 得到 { return _speed } } – Arash 2010-08-14 14:57:37

+0

@arash - 答案已更新。您沒有正確實施該屬性。 – Oded 2010-08-14 15:05:20

+0

wow.it worked.thaaannx非常多 – Arash 2010-08-14 15:13:50

7

兩個您的代碼中的錯誤。

  • 你有一個分號,不應該有一個(由Oded發現)。
  • 您錯過了應該有一個分號的分號。

試試這個:

namespace ConsoleApplication2 
{ 
    class Program 
    { 
     class Car 
     { 
      private int _speed; 
      public int Speed  // <-- no semicolon here. 
      { 
       get 
       { 
        return _speed; // <-- here 
       } 
      } 
     } 
    } 
} 

我注意到,你最初發布的代碼是格式錯誤。我建議您在Visual Studio中自動格式化文檔以使大括號排列起來。這應該會使錯誤更加明顯。當代碼的格式看起來不正確時,您知道附近有錯誤。您可以在菜單中找到此選項:編輯 - >高級 - >格式化文檔或使用鍵盤快捷鍵(Ctrl-E D,但根據您的設置可能會有所不同)。

我也建議你考慮使用auto-implemented properties而不是全員出動寫吸氣劑:

namespace ConsoleApplication2 
{ 
    class Program 
    { 
     class Car 
     { 
      public int Speed { get; private set; } 
     } 
    } 
} 
+2

你可能想在第一個例子中的'public int Speed'後面加上分號。 – 2010-08-14 15:32:53

+0

@Dirk D:謝謝。所以實際上他的代碼中有兩個錯誤!它只是表明,自動實施的財產更容易得到正確,絕對是簡單財產的方式。 – 2010-08-14 15:36:41

+0

其實它是@Oded誰發現它首先在他的答案:) – 2010-08-14 16:01:37

1

這應該工作:

class Foo 
{ 
    static int _abcd; 

    static int Abcd 
    { 
     get { return _abcd; } 
     set { _abcd = value; }  
    } 
}