下面是一个示例的C#代码,演示了如何编写一个将字符串转换为枚举类型的方法,并返回转换结果和转换是否成功的信息。

using System;

public class Program
{
    enum Colors
    {
        Red,
        Green,
        Blue
    }

    public static void Main(string[] args)
    {
        string colorString = "Green";
        EnumConversionResult<Colors> result = ConvertToEnum<Colors>(colorString);

        if (result.Success)
        {
            Console.WriteLine("转换成功,枚举值为:" + result.Value);
        }
        else
        {
            Console.WriteLine("转换失败,无效的枚举值");
        }
    }

    public static EnumConversionResult<TEnum> ConvertToEnum<TEnum>(string value) where TEnum : struct
    {
        EnumConversionResult<TEnum> result = new EnumConversionResult<TEnum>();

        if (Enum.TryParse<TEnum>(value, out TEnum enumValue))
        {
            result.Success = true;
            result.Value = enumValue;
        }

        return result;
    }

    public class EnumConversionResult<TEnum>
    {
        public bool Success { get; set; }
        public TEnum Value { get; set; }
    }
}

在这个示例中,首先定义了一个枚举类型 Colors,包含了三个颜色值。然后在 Main 方法中,定义了一个字符串 colorString,表示要转换的枚举值。

ConvertToEnum 方法是用来将字符串转换为枚举类型的方法。它接受一个泛型参数 TEnum 表示要转换成的枚举类型。方法内部使用 Enum.TryParse 方法进行转换,如果转换成功,则将 Success 属性设置为 true,并将转换结果赋值给 Value 属性。最后返回一个 EnumConversionResult 对象,包含了转换结果和转换是否成功的信息。

Main 方法中,调用 ConvertToEnum 方法将字符串 colorString 转换为枚举类型 Colors,并根据转换是否成功的信息进行相应的输出


原文地址: https://www.cveoy.top/t/topic/h7Ca 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录