ValueType.ToString Methode

Definitie

Retourneert de volledig gekwalificeerde typenaam van dit exemplaar.

public:
 override System::String ^ ToString();
public override string ToString();
public override string? ToString();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

Retouren

De volledig gekwalificeerde typenaam.

Opmerkingen

De ValueType.ToString methode overschrijft de Object.ToString methode en biedt de standaard implementatie van de ToString methode voor waardetypen. (Waardetypen zijn typen die zijn gedefinieerd door het trefwoord struct in C# en door de Structure... End Structure constructie in Visual Basic.) Functioneel is de implementatie echter hetzelfde als die van Object.ToString: de methode retourneert de volledig gekwalificeerde typenaam.

Waardetypen die zijn gedefinieerd door het trefwoord struct in C# en de Structure... End Structure constructie in Visual Basic overschrijft doorgaans de methode ValueType.ToString om een zinvollere tekenreeksweergave van het waardetype te bieden. In het volgende voorbeeld ziet u het verschil. Er worden twee waardetypen EmployeeA gedefinieerd en EmployeeBer wordt een exemplaar van elke waarde gemaakt en de bijbehorende methode aangeroepen ToString . Omdat de EmployeeA structuur de ValueType.ToString methode niet overschrijft, wordt alleen de volledig gekwalificeerde typenaam weergegeven. De EmployeeB.ToString methode biedt daarentegen zinvolle informatie over het object.

using System;
using Corporate.EmployeeObjects;

public class Example
{
   public static void Main()
   {
      var empA = new EmployeeA{ Name = "Robert",};
      Console.WriteLine(empA.ToString());
      
      var empB = new EmployeeB{ Name = "Robert",};
      Console.WriteLine(empB.ToString());
   }
}

namespace Corporate.EmployeeObjects
{
    public struct EmployeeA
    {
         public String Name { get; set; }
    }
    
    public struct EmployeeB
    {
         public String Name { get; set; }

         public override String ToString()
         {
              return Name;
         }
    }  
}
// The example displays the following output:
//     Corporate.EmployeeObjects.EmployeeA
//     Robert
namespace Corporate.EmployeeObjects

[<Struct>]
type EmployeeA =
    val mutable Name : string

[<Struct>]
type EmployeeB =
    val mutable Name : string
    override this.ToString() = 
          this.Name

module Example =
     let empA = EmployeeA(Name="Robert")
     printfn $"{empA}"

     let empB = EmployeeB(Name="Robert")
     printfn $"{empB}"
// The example displays the following output:
//     Corporate.EmployeeObjects.EmployeeA
//     Robert
Imports Corporate.EmployeeObjects

Module Example
   Public Sub Main()
      Dim empA As New EmployeeA With { .Name = "Robert" }
      Console.WriteLine(empA.ToString())
      
      Dim empB = new EmployeeB With { .Name = "Robert" }
      Console.WriteLine(empB.ToString())
   End Sub
End Module

Namespace Corporate.EmployeeObjects
    Public Structure EmployeeA
         Public Property Name As String 
    End Structure
    
    Public Structure EmployeeB
         Public Property Name As String 

         Public Overrides Function ToString() As String 
              Return Name
         End Function
    End Structure  
End Namespace
' The example displays the following output:
'     Corporate.EmployeeObjects.EmployeeA
'     Robert

Hoewel opsommingstypen ook waardetypen zijn, zijn ze afgeleid van de Enum klasse, die overschrijft ValueType.ToString.

Notities voor Windows Runtime

Wanneer u de methode ToString aanroept in een Windows Runtime-structuur, biedt het standaardgedrag voor waardetypen die ToString niet overschrijven. Dit maakt deel uit van de ondersteuning die .NET biedt voor De Windows Runtime (zie .NET-ondersteuning voor Windows Store-apps en Windows Runtime). Windows Runtime structuren kunnen ToString niet overschrijven, zelfs niet als ze zijn geschreven met C# of Visual Basic, omdat ze geen methoden kunnen hebben. (Bovendien nemen structuren in de Windows Runtime zelf geen ValueType over.) Ze lijken echter ToString, Equals en GetHashCode methoden te hebben wanneer u ze in uw C# of Visual Basic code gebruikt, en .NET biedt het standaardgedrag voor deze methoden.

Van toepassing op