Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#返回属性的串联_C# - Fatal编程技术网

c#返回属性的串联

c#返回属性的串联,c#,C#,我有一门课: public class LabOccurrenceForm { public DateTime Occurrence_Date { get; set; } public string Cup_Type { get; set; } public string Analytical_Testing_Phase { get; set; } public string Area { get; set; } public stri

我有一门课:

public class LabOccurrenceForm
{          
    public DateTime Occurrence_Date { get; set; }
    public string Cup_Type { get; set; }
    public string Analytical_Testing_Phase { get; set; }
    public string Area { get; set; }
    public string Preanalytical_Before_Testing { get; set; }
    public string Postanalytical_After_Testing { get; set; }
    public string Other { get; set; }
    public string Practice_Code { get; set; }
    public string Comments { get; set; }
}
我想在类中添加一个方法,该方法将连接所有变量,如下所示:

public string AllData
{
    return Occurrence_Date.ToString() + " " +
    Cup_Type + " " +
    Analytical_Testing_Phase + " " +
    Area + " " +
    Preanalytical_Before_Testing + " " +
    Postanalytical_After_Testing + " " +
    Other + " " +
    Practice_Code + " " +
    Comments;
}
public string AllData
{
    get
    {
        return Occurrence_Date.ToString() + " " +
               Cup_Type + " " +
               Analytical_Testing_Phase + " " +
               Area + " " +
               Preanalytical_Before_Testing + " " +
               Postanalytical_After_Testing + " " +
               Other + " " +
               Practice_Code + " " +
               Comments;
    }
}

这不起作用,因为它需要一个get或set。我做错了什么?我怎样才能解决这个问题呢?

所以,把它变成一个属性,并给它一个

或者让它成为一种方法

public string AllData()
{
    return Occurrence_Date.ToString() + " " +
    Cup_Type + " " +
    Analytical_Testing_Phase + " " +
    Area + " " +
    Preanalytical_Before_Testing + " " +
    Postanalytical_After_Testing + " " +
    Other + " " +
    Practice_Code + " " +
    Comments;
}
或者改为覆盖
ToString()
(在这种情况下,哪种类型有意义)


您需要在类内的get中使用return。它不能单独存在。

如果您试图创建一个方法,您必须将其声明为一个方法:
public string AllData()
按照您声明它的方式,编译器认为您正在尝试创建一个属性,因此它希望您提供一个
get{}
语句

在任何一种情况下,这都只是一个小改动——要创建一个方法,只需在方法名称的末尾添加括号即可。如果您想要一个属性,只需在实际代码的开头添加
get{
,在末尾添加
}
,就可以了

用法差别不大:方法:
string allData=lab.allData()
或属性
string allData=lab.allData


您也可以在类中考虑重写.toStRun()。

您应该添加这样的只读字段:

public string AllData
{
    return Occurrence_Date.ToString() + " " +
    Cup_Type + " " +
    Analytical_Testing_Phase + " " +
    Area + " " +
    Preanalytical_Before_Testing + " " +
    Postanalytical_After_Testing + " " +
    Other + " " +
    Practice_Code + " " +
    Comments;
}
public string AllData
{
    get
    {
        return Occurrence_Date.ToString() + " " +
               Cup_Type + " " +
               Analytical_Testing_Phase + " " +
               Area + " " +
               Preanalytical_Before_Testing + " " +
               Postanalytical_After_Testing + " " +
               Other + " " +
               Practice_Code + " " +
               Comments;
    }
}

要获得更好的性能,请尝试:

public string AllData
{
    get
    {
        return string.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8}",
          Occurrence_Date.ToString(),
          Cup_Type,
          Analytical_Testing_Phase,
          Area,
          Preanalytical_Before_Testing,
          Postanalytical_After_Testing,
          Other,
          Practice_Code,
          Comments);
    }
}

因为您希望所有属性-使用反射更简洁:

public string GetAllData()
{
    return string.Join(" ", typeof(LabOccurrenceForm).GetProperties().Select(x => x.GetValue(this, null)));
}

错误3获取或设置访问器预期无法生成您需要使用答案编辑器中的“格式代码示例”按钮,以便正确显示您的代码。+1回答正确。只是澄清一下,
AllData
不是一种方法,而是一种属性@Milimetic-在这一点上,它可以制成任何一种。用户现在什么都没有,因为它甚至不是有效的代码。
public string AllData
{
    get
    {
        StringBuilder sb = new StringBuilder();

        sb.AppendFormat({0} ", Occurrence_Date.ToString());
        sb.AppendFormat({0} ", Cup_Type);
        sb.AppendFormat({0} ", Analytical_Testing_Phase);
        sb.AppendFormat({0} ", Area);
        sb.AppendFormat({0} ", Preanalytical_Before_Testing);
        sb.AppendFormat({0} ", Postanalytical_After_Testing);
        sb.AppendFormat({0} ", Other);
        sb.AppendFormat({0} ", Practice_Code);
        sb.AppendFormat({0}", Comments);

        return sb.ToString();
    }
}
public string GetAllData()
{
    return string.Join(" ", typeof(LabOccurrenceForm).GetProperties().Select(x => x.GetValue(this, null)));
}