以下是一个示例的C#代码,用于实现string转enum的方法,并返回转换结果和转换是否成功的信息。

using System;

public class Program
{
    public static void Main(string[] args)
    {
        string input = "Value2"; // 要转换的string值
        Result<EnumType> result = ConvertToEnum<EnumType>(input);

        if (result.Success)
        {
            Console.WriteLine("转换成功!转换结果为:" + result.Value);
        }
        else
        {
            Console.WriteLine("转换失败!错误信息:" + result.ErrorMessage);
        }
    }

    public static Result<T> ConvertToEnum<T>(string input) where T : struct, Enum
    {
        Result<T> result = new Result<T>();

        if (Enum.TryParse<T>(input, out T value))
        {
            result.Success = true;
            result.Value = value;
        }
        else
        {
            result.Success = false;
            result.ErrorMessage = "无法将字符串转换为枚举类型 " + typeof(T).Name;
        }

        return result;
    }
}

public class Result<T>
{
    public bool Success { get; set; } // 转换是否成功的标志
    public T Value { get; set; } // 转换的枚举值
    public string ErrorMessage { get; set; } // 错误信息
}

public enum EnumType
{
    Value1,
    Value2,
    Value3
}

在上述代码中,ConvertToEnum 方法接受一个泛型参数 T,用于指定要转换的枚举类型。它使用 Enum.TryParse 方法尝试将输入的字符串转换为枚举值,并将结果存储在 Result 对象中。如果转换成功,Result.Success 属性将设置为 true,并且转换的枚举值将存储在 Result.Value 属性中。如果转换失败,Result.Success 属性将设置为 false,并且错误信息将存储在 Result.ErrorMessage 属性中。

Main 方法中,我们可以调用 ConvertToEnum 方法来进行转换,并根据返回的 Result 对象判断转换是否成功。根据结果,我们可以打印相应的成功或失败信息。在本示例中,我们将输入字符串设置为 "Value2",并将枚举类型设置为 EnumType。因此,如果转换成功,将打印 "转换成功!转换结果为:Value2"

C# 写一个string转enum方法返回转换结果和转换是否成功。

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

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