Enum.Format(Type, Object, String) Método

Definición

Convierte el valor especificado de un tipo enumerado especificado en la representación de cadena equivalente de acuerdo con el formato especificado.

public:
 static System::String ^ Format(Type ^ enumType, System::Object ^ value, System::String ^ format);
public static string Format (Type enumType, object value, string format);
[System.Runtime.InteropServices.ComVisible(true)]
public static string Format (Type enumType, object value, string format);
static member Format : Type * obj * string -> string
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Format : Type * obj * string -> string
Public Shared Function Format (enumType As Type, value As Object, format As String) As String

Parámetros

enumType
Type

Tipo de enumeración del valor que se va a convertir.

value
Object

Valor que se va a convertir.

format
String

Formato de resultados que se va a usar.

Devoluciones

Representación de cadena de value.

Atributos

Excepciones

El enumType, value o el parámetro format es null.

El parámetro enumType no es un tipo Enum.

o bien

value procede de una enumeración que difiere en tipo de enumType.

o bien

El tipo de value no es un tipo subyacente de enumType.

El parámetro format contiene un valor no válido.

format es igual a "X", pero se desconoce el tipo de enumeración.

O bien

.NET 8 y versiones posteriores: enumType es un tipo de enumeración con respaldo booleano.

Ejemplos

En el ejemplo siguiente se muestra el uso de Format en el contexto de Enum.

using namespace System;
public enum class Colors
{
   Red, Green, Blue, Yellow
};

int main()
{
   Colors myColor = Colors::Blue;
   Console::WriteLine(  "My favorite color is {0}.", myColor );
   Console::WriteLine(  "The value of my favorite color is {0}.", Enum::Format( Colors::typeid, myColor,  "d" ) );
   Console::WriteLine(  "The hex value of my favorite color is {0}.", Enum::Format( Colors::typeid, myColor,  "x" ) );
}
// The example displays the folowing output:
//    My favorite color is Blue.
//    The value of my favorite color is 2.
//    The hex value of my favorite color is 00000002.
using System;

enum Colors { Red, Green, Blue, Yellow };

public class FormatTest {
    public static void Main() {
        Colors myColor = Colors.Blue;

        Console.WriteLine("My favorite color is {0}.", myColor);
        Console.WriteLine("The value of my favorite color is {0}.", Enum.Format(typeof(Colors), myColor, "d"));
        Console.WriteLine("The hex value of my favorite color is {0}.", Enum.Format(typeof(Colors), myColor, "x"));
    }
}
// The example displays the following output:
//    My favorite color is Blue.
//    The value of my favorite color is 2.
//    The hex value of my favorite color is 00000002.
open System

type Colors =
    | Red = 0
    | Green = 1
    | Blue = 2
    | Yellow = 3

let myColor = Colors.Blue

printfn $"My favorite color is {myColor}."
printfn $"""The value of my favorite color is {Enum.Format(typeof<Colors>, myColor, "d")}."""
printfn $"""The hex value of my favorite color is {Enum.Format(typeof<Colors>, myColor, "x")}."""
// The example displays the following output:
//    My favorite color is Blue.
//    The value of my favorite color is 2.
//    The hex value of my favorite color is 00000002.
 Enum Colors
     Red
     Green
     Blue
     Yellow    
 End Enum
    
Public Class FormatTest
    Public Shared Sub Main()
        Dim myColor As Colors = Colors.Blue
        
        Console.WriteLine("My favorite color is {0}.", myColor)
        Console.WriteLine("The value of my favorite color is {0}.", [Enum].Format(GetType(Colors), myColor, "d"))
        Console.WriteLine("The hex value of my favorite color is {0}.", [Enum].Format(GetType(Colors), myColor, "x"))
    End Sub 
End Class 
' The example displays the following output:
'    My favorite color is Blue.
'    The value of my favorite color is 2.
'    The hex value of my favorite color is 00000002.

Comentarios

En la tabla siguiente se muestran los valores válidos para el format parámetro .

Formato Descripción
"G" o "g" Si value es igual a una constante enumerada con nombre, se devuelve el nombre de esa constante; de lo contrario, se devuelve el equivalente decimal de value .

Por ejemplo, supongamos que la única constante enumerada se denomina Red y su valor es 1. Si value se especifica como 1, este formato devuelve "Rojo". Sin embargo, si value se especifica como 2, este formato devuelve "2".

o bien

Si el FlagsAttribute atributo personalizado se aplica a la enumeración, value se trata como un campo de bits que contiene una o varias marcas que constan de uno o varios bits.

Si value es igual a una combinación de constantes enumeradas con nombre, se devuelve una lista separada por delimitadores de los nombres de esas constantes. value se busca marcas, pasando de la marca con el valor más grande al valor más pequeño. Para cada marca que corresponde a un campo de bits en value, el nombre de la constante se concatena a la lista separada por delimitadores. A continuación, el valor de esa marca se excluye de una consideración adicional y la búsqueda continúa para la marca siguiente.

Si value no es igual a una combinación de constantes enumeradas con nombre, se devuelve el equivalente decimal de value .
"X" o "x" Representa value en formato hexadecimal sin un "0x" inicial.
"D" o "d" Representa value en formato decimal.
"F" o "f" Se comporta de forma idéntica a "G" o "g", salvo que FlagsAttribute no es necesario que esté presente en la Enum declaración.

Se aplica a

Consulte también