일반 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!