C# 使用TypeConverter进行不区分大小写的已验证枚举转换
使用Enum.Parse,我可以忽略大小写:C# 使用TypeConverter进行不区分大小写的已验证枚举转换,c#,.net,type-conversion,case-insensitive,C#,.net,Type Conversion,Case Insensitive,使用Enum.Parse,我可以忽略大小写: var result = (EnumType)Enum.Parse(typeof(EnumType), input, ignoreCase:true) 但当我使用TypeConverter时,除非我的字符串与枚举完全匹配,否则它将失败: var converter = TypeDescriptor.GetConverter(typeof(EnumType)); if (converter.IsValid(first)) { var resu
var result = (EnumType)Enum.Parse(typeof(EnumType), input, ignoreCase:true)
但当我使用TypeConverter时,除非我的字符串与枚举完全匹配,否则它将失败:
var converter = TypeDescriptor.GetConverter(typeof(EnumType));
if (converter.IsValid(first))
{
var result = (EnumType)converter.ConvertFromString(input);
}
有没有办法使TypeConverter有效,不区分大小写,或者我只需要在这里使用基于异常的编程?我什么也看不见
我正在尝试将字符串输入转换为所需类型的通用方法,因此我想使用TypeConverter。我认为
ConvertFromString
方法默认不区分大小写?您的代码转换不区分大小写。或者您想使其区分大小写?啊,对了,我使用了converter.IsValid来避免异常处理,这是区分大小写的