2016-11-13 33 views
-1

我最近開始練習c#並遇到這個問題: 我只是想在'公共字符串日期'中保存'dataTaken',所以我可以直接訪問這個變量。使用私有方法返回

class Bild 
    { 

     public int id; 
     public String source; 
     public string dataTaken; 
     public string data; 

     private string getAufnahmeDatum() { 
      string dataTaken = [.....]this.source; 
      return dataTaken; 
      } 

**//-> data = this.getAufnahmeDatum(); // dose not work.** 

    } 

我得到一些erros,試試這個。

日期: '日期' 在目前情況下劑量不存在

getAufnahmeDatum:

  • 方法必須有一個返回類型
  • Bild.getAufnahmeDatum必須聲明 身體,因爲其未標記的abstarct,外部或部分
  • 類型Bild已經定義了一個名爲getAufnahmeD的記憶阿圖姆具有相同 參數typs

我覺得古玩,當我不界定公共串dataTaken;我也得到一個錯誤(在當前情況下不存在)。

我以爲string dateTaken = [[]]應該就夠了。

PS:有沒有把VisualStudio中該死的錯誤複製出來的技巧?

+0

您是否在方法內使用不工作呼叫? –

+0

是的。我試過'data = this.getAufnahmeDatum()'; – buggy3

+0

請嘗試'公共字符串數據= getAufnahmeDatum();' – cramopy

回答

1

如果您在類中寫入此代碼但不在方法中,您將得到完全錯誤消息!

// fails with the described error 
data = this.getAufnahmeDatum(); 

// works without error 
private void Test() 
{ 
    data = this.getAufnahmeDatum(); 
} 

例如,您可以通過過使用set調用的代碼在類

public Bild() 
{ 
    data = this.getAufnahmeDatum(); 
} 
0

這可以通過其他的方式來完成的在構造函數。

class Bild 
{ 
    public int id; 
    public String source; 
    public string dataTaken; 
    public string data 
    { 
     set { value = this.getAufnahmeDatum(); } 
    } 

    private string getAufnahmeDatum() 
    { 
     string dataTaken = this.source; 
     return dataTaken; 
    } 
} 

你可以有get屬性還,如果你想dataread/write