Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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#_Visual Studio_Class_Return_Overriding - Fatal编程技术网

C# 公共重写字符串更多返回

C# 公共重写字符串更多返回,c#,visual-studio,class,return,overriding,C#,Visual Studio,Class,Return,Overriding,学校要求我使用公共覆盖字符串。我想要这样的东西: lbl_Name.Text = ToString(*Field: Naam from class Gebruikerklasse*) lbl_Surname.Text = ToString(*Field: Achternaam from class Gebruikersklasse*) 我的类中有多个字段,但我只想返回其中的几个字段。我是否需要不同的方法,或者我是否可以只使用一个方法,并使用一些if语句和boolean返回更多的结果 这就是我现

学校要求我使用公共覆盖字符串。我想要这样的东西:

lbl_Name.Text = ToString(*Field: Naam from class Gebruikerklasse*)
lbl_Surname.Text = ToString(*Field: Achternaam from class Gebruikersklasse*)
我的类中有多个字段,但我只想返回其中的几个字段。我是否需要不同的方法,或者我是否可以只使用一个方法,并使用一些if语句和boolean返回更多的结果

这就是我现在拥有的:

 using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace BurnThatFat
    {
        class Gebruikerklasse
        {
            public string Naam;
            public string Achternaam;
            public int Leeftijd;
            public string Geslacht;
            public int Huidiggewicht;
            public int Streefgewicht;
            public string Gebruikersnaam;
            public string Wachtwoord;

            public override string ToString()
            {
                return Naam;

            }
// I want to use the same method again but this time for another field.


 public override string ToString()
        {
            return Gebruikersnaam;
        }

    }

}
输出为:

BurnThatFat.Gebruikerklasse1
DCarr - Male - 75 - Duncan
i、 e


如果我误解了,很抱歉。

我建议实现
IFormattable
接口:

    class Gebruikerklasse {
      ...

      // "A" - Achternaam
      // "G" - Gebruikersnaam
      // "N" - Naam
      // null, empty - default ToString format  
      public string ToString(string format, IFormatProvider formatProvider) {
        if (string.IsNullOrEmpty(format))
          return ToString(); 
        else if ("N".Equals(format, StringComparison.OrdinalIgnoreCase))
          return Naam;
        else if ("A".Equals(format, StringComparison.OrdinalIgnoreCase))
          return Achternaam;
        else if ("G".Equals(format, StringComparison.OrdinalIgnoreCase))
          return Gebruikersnaam;
        else
          throw new FormatException($"Unknown format '{format}'");
      }

      public string ToString(string format) {
        return ToString(format, CultureInfo.CurrentCulture);
      }

      public override string ToString() {
        return Gebruikersnaam;
      }
    }
所以你可以说:

    Gebruikerklasse instance = new Gebruikerklasse();

    lbl_Name.Text = instance.ToString("G");
    lbl_Surname.Text = instance.ToString("A");

不清楚你想做什么,如果你现在读的话@BIt很明显,您希望编译器在没有合理指令的情况下找出您想要做的事情。。。但是如果你能得到一个,为什么还要写这么多代码呢您可能想阅读“C语言方法重载”来查看语言中有什么意义。也可以考虑发布确切的赋值,这完全不清楚您期望做什么。请考虑使用属性而不是字段。当您想要使用数据绑定时,它将起到不同的作用。您可能需要类似于
return String.Format({0},{1}),Achternaam,Naam);
    class Gebruikerklasse {
      ...

      // "A" - Achternaam
      // "G" - Gebruikersnaam
      // "N" - Naam
      // null, empty - default ToString format  
      public string ToString(string format, IFormatProvider formatProvider) {
        if (string.IsNullOrEmpty(format))
          return ToString(); 
        else if ("N".Equals(format, StringComparison.OrdinalIgnoreCase))
          return Naam;
        else if ("A".Equals(format, StringComparison.OrdinalIgnoreCase))
          return Achternaam;
        else if ("G".Equals(format, StringComparison.OrdinalIgnoreCase))
          return Gebruikersnaam;
        else
          throw new FormatException($"Unknown format '{format}'");
      }

      public string ToString(string format) {
        return ToString(format, CultureInfo.CurrentCulture);
      }

      public override string ToString() {
        return Gebruikersnaam;
      }
    }
    Gebruikerklasse instance = new Gebruikerklasse();

    lbl_Name.Text = instance.ToString("G");
    lbl_Surname.Text = instance.ToString("A");