
일반 TryParse: 대체 접근 방식 탐색
'TryParse'를 사용하여 일반 확장을 구현하여 특정 유형으로의 문자열 변환을 검증하려고 하면 발생할 수 있는 문제 인터페이스 방법으로 'TryParse'가 부족하기 때문에 발생하는 문제입니다. 이 기사에서는 이러한 장애물을 극복할 수 있는 잠재적인 솔루션을 살펴봅니다.
커뮤니티에서 제안한 한 가지 접근 방식은 TypeDescriptor 클래스를 활용하는 것입니다. 이 클래스는 특정 유형에 대한 변환기를 얻는 방법을 제공합니다. 검색된 변환기에서 ConvertFromString 메서드를 호출하면 문자열 입력을 원하는 형식으로 변환할 수 있습니다. 이 방법은 변환 중에 발생할 수 있는 예외도 처리합니다.
public static T Convert<T>(this string input)
{
try
{
var converter = TypeDescriptor.GetConverter(typeof(T));
if(converter != null)
{
// Cast ConvertFromString(string text) : object to (T)
return (T)converter.ConvertFromString(input);
}
return default(T);
}
catch (NotSupportedException)
{
return default(T);
}
}또는 대상 유형을 매개변수로 허용하도록 코드를 수정하여 제네릭이 필요하지 않게 할 수도 있습니다. 이 접근 방식은 변환 프로세스를 더 효과적으로 제어할 수 있습니다.
public static bool Is(this string input, Type targetType)
{
try
{
TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
return true;
}
catch
{
return false;
}
}예외 기반 접근 방식이 색다른 것처럼 보일 수도 있지만 일반 문자열 변환을 수행하는 과제에 대한 실행 가능한 솔루션을 제공합니다.
위 내용은 C#에서 일반 TryParse 메서드를 어떻게 구현할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!