C# 写一个string转enum方法返回转换结果和转换是否成功。
以下是一个示例的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"
原文地址: https://www.cveoy.top/t/topic/h7vN 著作权归作者所有。请勿转载和采集!