문자열 변환을 검증하는 편리한 유틸리티를 만들려는 시도에서 개발자가 'TryParse'를 사용할 때 컴파일 오류가 발생했습니다. 이 오류는 어떤 인터페이스나 기본 클래스에도 'TryParse'가 정의되어 있지 않기 때문에 발생했습니다.
이를 극복하기 위해 개발자들은 대체 방법을 모색했습니다. 한 가지 접근 방식은 TypeDescriptor와 해당 'TryParse' 기능을 활용하는 것을 제안했습니다. 그러나 이 구현은 예외 처리에 의존했기 때문에 신뢰성에 대한 우려가 제기되었습니다.
이러한 문제를 해결하기 위해 일반 'TryParse' 유틸리티의 수정된 버전이 도입되었습니다.
public static bool Is(this string input, Type targetType) { try { TypeDescriptor.GetConverter(targetType).ConvertFromString(input); return true; } catch { return false; } }
이것은 수정된 코드는 제네릭에 대한 의존성을 제거하고 대신 명시적으로 검증할 유형을 전달합니다. 'ConvertFromString' 메소드를 활용하여 입력 문자열을 지정된 유형으로 변환하려고 시도합니다. 변환 중에 발생한 예외는 유효성 검사 실패로 해석되어 부울 'false' 반환이 발생합니다.
TypeDescriptor의 변환 기능을 활용하여 개정된 이 'TryParse' 유틸리티는 문자열 변환을 검증하기 위한 안정적이고 유연한 메커니즘을 제공합니다. 예외 기반 구현의 함정
위 내용은 C#에서 문자열 변환을 위한 신뢰할 수 있는 일반 'TryParse' 유틸리티를 어떻게 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!