2016-11-13 36 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