Enum.GetName 方法

定义

重载

GetName(Type, Object)

在指定枚举中检索具有指定值的常数的名称。

GetName<TEnum>(TEnum)

在指定枚举类型中检索具有指定值的常数的名称。

GetName(Type, Object)

在指定枚举中检索具有指定值的常数的名称。

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

参数

enumType
Type

枚举类型。

value
Object

特定枚举常量的值(根据其基础类型)。

返回

String

一个字符串,其中包含 enumType 中值为 value 的枚举常量的名称;或者,如果没有找到这样的常量,则为 null

属性

例外

enumTypevaluenull

enumType 不是 Enum

  • 或 -

value 既不属于类型 enumType,也不具有与 enumType 相同的基础类型。

示例

以下示例说明了 GetName 的用法。

using namespace System;

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

enum class Styles
{
   Plaid, Striped, Tartan, Corduroy
};

int main()
{
   Console::WriteLine(  "The 4th value of the Colors Enum is {0}", Enum::GetName( Colors::typeid, 3 ) );
   Console::WriteLine(  "The 4th value of the Styles Enum is {0}", Enum::GetName( Styles::typeid, 3 ) );
}
// The example displays the following output:
//       The 4th value of the Colors Enum is Yellow
//       The 4th value of the Styles Enum is Corduroy
using System;

public class GetNameTest {
    enum Colors { Red, Green, Blue, Yellow };
    enum Styles { Plaid, Striped, Tartan, Corduroy };

    public static void Main() {

        Console.WriteLine("The 4th value of the Colors Enum is {0}", Enum.GetName(typeof(Colors), 3));
        Console.WriteLine("The 4th value of the Styles Enum is {0}", Enum.GetName(typeof(Styles), 3));
    }
}
// The example displays the following output:
//       The 4th value of the Colors Enum is Yellow
//       The 4th value of the Styles Enum is Corduroy
open System

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

type Styles =
    | Plaid = 0
    | Striped = 1
    | Tartan = 2
    | Corduroy = 3

printfn $"The 4th value of the Colors Enum is {Enum.GetName(typeof<Colors>, 3)}"
printfn $"The 4th value of the Styles Enum is {Enum.GetName(typeof<Styles>, 3)}"
// The example displays the following output:
//       The 4th value of the Colors Enum is Yellow
//       The 4th value of the Styles Enum is Corduroy
Public Class GetNameTest
    
    Enum Colors
        Red
        Green
        Blue
        Yellow
    End Enum 'Colors
    
    Enum Styles
        Plaid
        Striped
        Tartan
        Corduroy
    End Enum 'Styles
    
    Public Shared Sub Main() 
        Console.WriteLine("The 4th value of the Colors Enum is {0}", [Enum].GetName(GetType(Colors), 3))
        Console.WriteLine("The 4th value of the Styles Enum is {0}", [Enum].GetName(GetType(Styles), 3))
    End Sub
End Class
' The example displays the following output:
'       The 4th value of the Colors Enum is Yellow
'       The 4th value of the Styles Enum is Corduroy

注解

如果多个枚举成员具有相同的基础值,该方法 GetName 将保证它将返回其中一个枚举成员的名称。 但是,它不保证它始终返回同一枚举成员的名称。 因此,当多个枚举成员具有相同的值时,应用程序代码不应依赖于返回特定成员名称的方法。

适用于

GetName<TEnum>(TEnum)

在指定枚举类型中检索具有指定值的常数的名称。

public:
generic <typename TEnum>
 where TEnum : value class static System::String ^ GetName(TEnum value);
public static string? GetName<TEnum> (TEnum value) where TEnum : struct;
static member GetName : 'Enum -> string (requires 'Enum : struct)
Public Shared Function GetName(Of TEnum As Structure) (value As TEnum) As String

类型参数

TEnum

枚举的类型。

参数

value
TEnum

特定枚举常量的值(根据其基础类型)。

返回

String

一个字符串,其中包含 enumType 中值为 value 的枚举常量的名称;或者,如果没有找到这样的常量,则为 null

适用于